c++程序设计报告(13-1)
来源:互联网 发布:美图秀秀为何没有mac版 编辑:程序博客网 时间:2024/06/07 11:21
/*
*实验内容:
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:* 作 者: 杨坛坛
* 完成日期: 2012 年 5 月 16日
* 版 本号: vc2008
*问题描述:(1)如果将Vehicle类的定义修改为虚函数,其余不变
(2)如果将Vehicle类的定义修改为纯虚函数,找出main()函数中将使编译出错的行删除(或改为注释),
*/
#include <iostream> using namespace std;class Vehicle {public: void run() const { cout << "run a vehicle. "<<endl; } //(2) 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;}
1.2
#include <iostream> using namespace std;class Vehicle {public:virtual void run() const { cout << "run a vehicle. "<<endl; } //(2) 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;}
1.3
#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;}
运行结果:
1.1:
(a) 直接用对象访问成员函数:
run a vehicle.
run a car.
run a airplane.
(b) 用指向基类的指针访问成员函数:
run a vehicle.
run a vehicle.
请按任意键继续. . .
1.2:
(a) 直接用对象访问成员函数:
run a vehicle.
run a car.
run a airplane.
(b) 用指向基类的指针访问成员函数:
run a car.
run a airplane.
请按任意键继续. . .
1.3:
(a) 直接用对象访问成员函数:
run a car.
run a airplane.
(b) 用指向基类的指针访问成员函数:
run a car.
run a airplane.
请按任意键继续. . .
感言:虚函数:允许在派生类中重新定义与基类同名的函数,并可以通过基类指针或引用来访问基类和派生类中的同名函数。
多态性:具有不同功能的函数可以用同一个函数名,用一个函数名调用不同能容的函数。即:一个接口,多种方法。
抽象类:不用来定义对象而只作为一种基本类型用作继承的类(一个类族的公共基类)
- 第一次 C程序设计上机报告(1)
- c++程序设计报告(13-1)
- C 程序设计实验报告(二)
- 第一次C程序设计上机报告
- 第一次C程序设计上机报告
- 第一次C程序设计上机报告
- 第一次C程序设计上机报告
- 第一次C程序设计上机报告
- 第一次C程序设计上机报告
- 第一次C程序设计上机报告
- 第一次C程序设计上机报告
- 第一次C程序设计上机报告
- 第一次C程序设计上机报告
- 第一次C程序设计上机报告
- 第一次c程序设计上机报告
- 第一次C程序设计上机报告
- 第一次c程序设计上机报告
- 第一次C程序设计上机报告
- C++虚表
- wait() 和waitpid() 函数
- QTP快捷键大全
- jQuery简单例子-3
- android应用草稿
- c++程序设计报告(13-1)
- Print Current Working Directory
- JVM相关
- jQuery简单例子-4
- 植一株小草于心间
- C# 调用ie打开URL地址
- MySQL修改root密码的各种方法整理
- 文件下载并保存至SD卡
- 面试