第13周项目—阅读4

来源:互联网 发布:淘宝店没有解开 编辑:程序博客网 时间:2024/04/18 16:51

代码:

#include <iostream>using namespace std;class Vehicle {public:    virtual void run() const { cout << "run a vehicle. "<<endl; } //(2) run()为虚函数};class Car: public Vehicle  //汽车{public:    void run() const    { cout << "run a car. "<<endl; }};class Airplane: public Vehicle  //飞机{public:    void run() const    { cout << "run a airplane. "<<endl; }};int main(){    cout<<"(a) 直接用对象访问成员函数: "<<endl;    Vehicle v;    v.run();    Car car;    Airplane airplane;    car.run();    airplane.run();    cout<<"(b)用指向基类的指针访问成员函数: "<<endl;    Vehicle *vp;    vp=&car;    vp->run();    vp=&airplane;    vp->run();    return 0;}//当基类的指针指向派生类时,用指针调用同名成员函数,执行的是基类的成员函数//当基类的指针指向派生类时,用指针调用同名虚成员函数,执行的是派生类的成员函数
//(3)如果将Vehicle类的定义修改为纯虚函数,Vehicle定义的对象出现错误,因为纯虚函数不可以定义对象。//   去掉出错误的两行程序正常运行


(3)运行结果:


0 0
原创粉丝点击