将第十四周的阅读程序中的Vehicle类的定义修改为纯虚函数,找出main()函数中将使编译出错的行删除

来源:互联网 发布:软通动力java面试题 编辑:程序博客网 时间:2024/06/06 01:07
#include <iostream>using namespace std;class Vehicle{public:    virtual void run() const = 0; //(3) run()为纯虚函数,const意指其为常成员函数,并非纯虚函数之必要};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();//输出;run a car.    airplane.run();//输出;run a airplane.    cout<<"(b)用指向基类的指针访问成员函数: "<<endl;    Vehicle *vp;//指向基类    vp=&car;    vp->run();    vp=&airplane;    vp->run();    return 0;}

0 0
原创粉丝点击