将第十四周的阅读程序中的Vehicle类的定义修改为纯虚函数,找出main()函数中将使编译出错的行删除
2014-05-27 08:29
330 查看
#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; }
相关文章推荐
- 将十四周的阅读程序中的Vehicle类的定义修改为虚函数,请写出程序的执行结果
- 第十四周 程序阅读,理解虚函数与纯虚函数
- 第14周 阅读程序,对照结果,定义成纯虚函数
- 第五周 阅读程序 在 main 函数中,可设置指向对象public 成员、对象函数还有对象的指针
- 写一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。用如下的main()函数,求出定义的几个几何体的面积和
- 第十四周上机任务---程序阅读,理解函数
- UI基础:UI程序执行顺序(UIApplicationMain()函数),自定义视图 分类: iOS学习-UI 2015-07-02 22:09 68人阅读 评论(0) 收藏
- 设计一个抽象类CSolid,含有用于求表面积及体积的两个纯虚函数。设计派生类CCube、CBall、CCylinder,分别表示正方体、球体及圆柱体。在main()函数中,定义CSolid *p;(p
- 编写一个程序,其main()调用一个用户定义的函数(以光年值为参数,并返回对应天文单位 的值).该程序按下面的格式要求用户输入光年值
- 第十四周阅读程序(3):流成员函数put,putchar输出字符
- 第一周阅读程序(1) 成员函数在类内定义
- VS明明定义了函数却编译出错:error LNK2019: 无法解析的外部符号
- 0.11内核编译出错 kernel/kernel.o:在函数‘copy_process’中:对'memcpy'未定义的引用。
- 第14周 阅读程序,对照结果 定义成虚函数
- Fortran 编译程序时总提示lapack库中有个函数没有定义
- 设计一个抽象类CSolid,含有用于求表面积及体积的两个纯虚函数。设计派生类CCube、CBall、CCylinder,分别表示正方体、球体及圆柱体。在main()函数中,定义CSolid *p;(p
- 编译包含ace库的程序时,显示系统函数重定义问题
- 第一周阅读程序(1) 成员函数在类内声明,类外定义
- LDD3 short程序编译出错之修改
- 如何为WPF添加Main()函数 程序入口点的修改