第13周任务1.2

来源:互联网 发布:网络社区营销优点 编辑:程序博客网 时间:2024/04/30 18:40

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2012, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:  抽象类

* 作 者:   付文杰
* 完成日期:  2012 年 5 月 16 日
* 版 本 号:  x1.0
* 对任务及求解方法的描述部分
* 输入描述:  使用抽象类

* 问题描述:  (任务1.1)请写出程序的执行结果,并在上机时对照理解
              (任务1.2)如果将Vehicle类的定义修改为虚函数,其余不变,请写出程序的执行结果,并在上机时对照理解
     (任务1.3)如果将Vehicle类的定义修改为纯虚函数,找出main()函数中将使编译出错的行删除(或改为注释),请写出程序的执行结果,并在上机时对照理解


* 程序输出: ......

* 程序头部的注释结束
*/

#include <iostream> using namespace std;class Vehicle {public: virtual void run() const = 0; //(3) 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();system("pause");return 0;}