多态的知识有以下几点
1.什么是多态?
简单来说就是不同的对象去完成同一个行为会产生不同的结果。
举个例子:国庆去华山游玩,一般的成人要买全价票,而我们学生买票买学生票。这就是两种不同的对象都去买票但是产生的结果却不同,一个是全价票一个是学生票。
2.如何使用多态?
使用多态有两个前提条件
1.调用函数的对象必须是指针或者引用
2.调用的函数必须是虚函数,而且完成了虚函数的重写
class Person
{
public:
virtual void BuyTicket()
{
cout << "全价票" << endl;
}
};
class Student : public Person
{
public:
virtual void BuyTicket()
{
cout << "学生票" << endl;
}
};
void Fun(Person & p)
{
p.BuyTicket();
}
那么为什么要是对象的指针或引用?
什么又是虚函数?什么又是虚函数的重写?
3.虚函数的重写(覆盖)
虚函数:
所谓的虚函数就是在函数前面加上virtual这个关键字。那么他就成为了虚函数。
虚函数的重写:
派生类中有一个跟基类的完全相同虚函数,我们就称子类的虚函数重写了基类的虚函数,完
全相同是指&