上机内容:学习虚函数与纯虚函数;
上机目的:学习;
- /*
- * 程序的版权和版本声明部分
- * Copyright (c)2012, 烟台大学计算机学院学生
- * All rightsreserved.
- * 文件名称: object.cpp
- * 作者:王俊
- * 完成日期:2013 年5月 31日
- * 版本号: v1.0
- * 输入描述:无
- * 问题描述:
- * 程序输出:如下
- */
- 运用纯虚函数:
运行结果:#include <iostream> using namespace std; class Vehicle //交通工具 { public: virtual void run() const = 0; }; 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; Car car; Airplane airplane; car.run(); airplane.run(); cout<<"(b)用指向基类的指针访问成员函数: "<<endl; Vehicle *vp; vp=&car; vp->run(); vp=&airplane; vp->run(); return 0; }
- 心的体会:当基类的指针指向派生类时,用指针调用同名成员函数,执行的是基类的成员函数。如果要用派生类的成员函数的话就要把其定义成虚函数或纯虚函数。。。。