十四周任务-阅读程序一

来源:互联网 发布:淘宝考试闪存卡错放 编辑:程序博客网 时间:2024/05/12 03:39
/* * 程序的版权和版本声明部分 * Copyright (c)2013, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称: object.cpp * 作者:王锴英* 完成日期: 2013年05月31日 * 版本号: v1.0 * 输入描述:无 * 问题描述:无 * 程序输出:无 */  #include <iostream>using namespace std;class Vehicle //交通工具{public:void run() const{cout << "run a vehicle. "<<endl;}};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;}


*当基类的指针指向派生类时,用指针调用同名成员函数,执行的是基类的成员函数。

 

/** 程序的版权和版本声明部分* Copyright (c)2013, 烟台大学计算机学院学生* All rightsreserved.* 文件名称: object.cpp* 作者:王锴英* 完成日期: 2013年05月31日* 版本号: v1.0* 输入描述:无* 问题描述:无* 程序输出:无*/#include <iostream>using namespace std;class Vehicle //交通工具{public:virtual void run() const{cout << "run a vehicle. "<<endl;}};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;}


运行结果:

 

*当基类的指针指向派生类时,用指针调用同名成员函数,执行的是派生类的成员函数。

多态性就是:向不同的对象发送同一个行为,不同的对象在接收时会产生不同的行为。

 

原创粉丝点击