#include "pch.h"
#include <iostream>
using namespace std;
/***************虚函数*************/
class Human {
public:
virtual void BuyTicket() {
cout << "买票。" << endl;
}
};
class Teacher :public Human {
virtual void BuyTicket() {
cout << "老师买票。" << endl;
}
};
class Student :public Human {
virtual void BuyTicket() {
cout << "学生刷卡。" << endl;
}
};
int main()
{
/*
虚函数的作用:
当定义一个基类指针对象来保存派生类,
调用基类和派生类重载的同名函数时,
可以根据不同的派生类对象调用各自的重载函数,
而不是永远调用基类的函数
*/
Human* human=new Human();
human->BuyTicket();
delete human;
//上来一位老师
human = new Teacher;
human->BuyTicket();
delete human;
//上来一位学生
human = new Student;
human->BuyTicket();
delete human;
}