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


