做网站销售一个星期的计划,使用wordpress的企业,网站建站发布平台,百度怎么搜索网址打开网页一、多态定义
同一种操作作用于不同的对象时#xff0c;可以产生不同的行为。在面向对象编程中#xff0c;多态性是指通过继承和重写实现的#xff0c;同一个方法在不同的子类中可以表现出不同的行为。多态性可以提高代码的灵活性和可扩展性#xff0c;使得程序更易于维护… 一、多态定义
同一种操作作用于不同的对象时可以产生不同的行为。在面向对象编程中多态性是指通过继承和重写实现的同一个方法在不同的子类中可以表现出不同的行为。多态性可以提高代码的灵活性和可扩展性使得程序更易于维护和升级。
二、多态的本质
vftable表记录虚函数指针当父类的指针或引用指向子类对象就发生多态。
所以多态需要满足两个条件
1、有继承关系
2、子类重写父类的虚函数
三、代码示例
#include iostream
#include string
using namespace std;class Person{public:Person(){};virtual void showInfo(){cout我是一个人...endl;}
};
class Student:public Person{public:Student():Person(){}void showInfo()override//函数的重写重写父类的虚函数,防止基类函数写错{cout我是一个学生...endl;}
};
void show(Person p)
{p.showInfo();
}
void showPoint(Person *p)
{p-showInfo();
}
int main()
{Student stu{};//多态必须满足父类调用子类对象这一条件show(stu);showPoint(stu);Person p{};show(p);showPoint(p);return 0;
} 运行结果
我是一个学生...
我是一个学生...
我是一个人...
我是一个人...