1. 多态的概念
1.1 概念
通俗来讲,多态就是多种形态。具体一些就是当去完成某个行为的时候,不同的对象去完成时会产生出不同的状态。
2. 多态的定义与实现
2.1 多态的构成条件
多态是在不同继承关系的类对象中,调用同一函数产生不同的行为。例如 Student 继承了 Person,Person 对象买票全价,Student 对象买票半价。在继承中要构成多态还有两个条件:
- 必须通过基类的指针或者引用调用虚函数。
- 被调用的函数必须是虚函数,且派生类对基类的虚函数进行重写。
#include <iostream>
using namespace std;
class Adult {
public:
virtual void BuyTicket() {
cout << "买票----全价" << endl;
}
};
class Child : public Adult {
public:
virtual void BuyTicket() {
cout << "买票----半价" << endl;
}
};
void Func(Adult& a) {
a.BuyTicket();
}
int main() {
Adult a;
Child c;
Func(a);
Func(c);
return 0;
}
2.2 虚函数
概念:被 virtual 修饰的类成员函数称为虚函数。
class Person {
public:
{
cout << << endl;
}
};


