C++多态的详解

C++多态的详解

  • 对C++多态的理解
    • 一、普通的继承关系示例
      • 1. 普通对象间的赋值例子:
      • 2.指针的例子:
      • 3.引用的例子:
    • 二、含虚函数的继承关系示例
      • 1.含虚函数的指针例子:
    • 三、含纯虚函数的继承关系示例
    • 四、总结

对C++多态的理解

C++的多态体现在派生类继承基类的关系中,多态的一个很重要的特性就是基类对派生类的调用。这可以体现在三方面:派生类对象赋值给基类对象、派生类引用赋值给基类引用以及派生类指针赋值给基类指针。

一、普通的继承关系示例

接下来我将用代码写一个简单的例子,并通过代码和它的输出结果,来阐述对多态的需求。

1. 普通对象间的赋值例子:

#include<iostream>
class People
{
   
    public:
    People(std::string name,int age);
    void DisPlay();
    protected:
    int age;
    std::string name;

};
People::People(std::string name,int age)
{
   
    this->name = name;
    this->age = age;
}
void People::DisPlay()
{
   
    std::cout<<"my name is "<<name<<", my age is "\
             <<age<<", I have no job"<<std::endl;
}

class Programmer:public People
{
   
    private:
    std::string myJob;
    public:
    Programmer(std::string name,int age,\
               std::string job):People(name,age),myJob(job){
   }
    void DisPlay();

};
void Programmer::DisPlay()
{
   
    std::cout<<"my name is "<<name<<", my age is "\
             <<age<<", my job is "<<myJob<<std

你可能感兴趣的:(c++,编程语言,多态,指针)