《我的第一本C++书》--陈良乔 虚函数

#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;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值