第十三周 课后实践:阅读程序2
来源:互联网 发布:程序员找男朋友 编辑:程序博客网 时间:2024/05/16 07:13
(1)问题及代码:
#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;}
运行结果:
回答:
当基类的指针指向派生类时,用指针调用同名成员函数,执行的是基类的成员函数。
(2)问题及代码:
#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;}
运行结果:
回答:
当基类的指针指向派生类时,用指针调用同名虚成员函数,执行的是派生类的成员函数,因为run是一个虚函数,动态多态性。
(3)问题及代码:
#include <iostream>using namespace std;class Vehicle //交通工具{public: virtual void run() const=0; //{ 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;}
运行结果:
回答:
当基类同名成员函数定义为纯虚函数后,vehicle类就变成了抽象类。
0 0
- 第十三周 课后实践:阅读程序2
- 第十三周 课后实践:阅读程序1
- 第二周 课后实践 阅读程序2
- 第十五周 课后实践:阅读程序2
- 第2周项目1课后实践,阅读程序
- 第二周 课后实践:阅读程序(2)
- 第二周课后实践:阅读程序(2)
- 第二周--课后实践:阅读程序(2)
- 第二周 课后实践 程序阅读(2)
- 第五周 课后实践--阅读程序(2)
- 第十二周 课后实践:阅读程序(1)(2)
- 第二周课后实践-阅读程序
- 第二周课后实践--阅读程序
- 第二周课后实践阅读程序
- 第二周--课后实践:阅读程序
- 第二周 课后实践 程序阅读
- 第三周课后实践-阅读程序
- 第三周 课后实践 阅读程序
- 第十四周 项目一 小玩文件
- 第十五周 【项目1 - 小玩文件】
- 第14周项目1-小玩文件(1)
- python学习笔记
- 第十四周项目一之小玩文件
- 第十三周 课后实践:阅读程序2
- 集合框架
- 用文件保存的学生名单
- 6,10 统计字节
- 限制文本框只能输入数字,并且屏蔽粘贴
- 第14周程序阅读 例2
- 第十三周项目一小玩文件(1)
- hadoop编程实例--数据排序
- 第十四周阅读程序cerr流对象