第十三周任务一虚函数
来源:互联网 发布:as3是一门编程语言吗 编辑:程序博客网 时间:2024/05/22 03:27
/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:
* 作 者: 石丽君
* 完成日期: 2012 年 5 月 14 日
* 版 本 号:
* 对任务及求解方法的描述部分
* 输入描述: (任务1.1)请写出程序的执行结果,并在上机时对照理解
#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)如果将Vehicle类的定义修改为虚函数,其余不变,请写出程序的执行结果,并在上机时对照理解
class Vehicle
{public:
virtual void run() const { cout << "run a vehicle. "<<endl; } //(2) run()为虚函数
};
(任务1.3)如果将Vehicle类的定义修改为纯虚函数,找出main()函数中将使编译出错的行删除(或改为注释),请写出程序的执行结果,并在上机时对照理解
class Vehicle
{public:
virtual void run() const = 0; //(3) run()为纯虚函数
};
(任务1.4)提交博文,记录实验过程和结果,用自己的话概括你对虚函数、多态性和抽象类的理解。
*/
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:
* 作 者: 石丽君
* 完成日期: 2012 年 5 月 14 日
* 版 本 号:
* 对任务及求解方法的描述部分
* 输入描述: (任务1.1)请写出程序的执行结果,并在上机时对照理解
#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)如果将Vehicle类的定义修改为虚函数,其余不变,请写出程序的执行结果,并在上机时对照理解
class Vehicle
{public:
virtual void run() const { cout << "run a vehicle. "<<endl; } //(2) run()为虚函数
};
(任务1.3)如果将Vehicle类的定义修改为纯虚函数,找出main()函数中将使编译出错的行删除(或改为注释),请写出程序的执行结果,并在上机时对照理解
class Vehicle
{public:
virtual void run() const = 0; //(3) run()为纯虚函数
};
(任务1.4)提交博文,记录实验过程和结果,用自己的话概括你对虚函数、多态性和抽象类的理解。
*/
任务1.1(a)直接用对象访问成员函数run a vehiclerun a carrun airplane(b)用指向基类的指针访问成员函数run a vehiclerun a vehicle任务1.2(a)输出不变(b)改为run a carrun airplane任务1.3//Vehicle v;// v.run();(a),(b)都输出run a carrun airplane虚函数使同一类族中不同类的对象,对同一函数调用作出不同的响应,从而实现多态性。含有纯虚函数的类是抽象类,抽象类可以作为基类,从而大大提高了编程效率,实现多态性。
- 第十三周任务一(虚函数)
- 第十三周任务一虚函数
- 第十三周【任务一】抽象类,虚函数,多态性。
- 第十三周 任务一
- 第十三周 任务一
- 第十三周 任务一
- 第十三周任务一
- 第十三周任务一
- 第十三周任务一 、
- 第十三周任务(一)
- 第十三周任务一(通过程序分析理解虚函数, 多态性和抽象类)
- 第十三周实验报告(任务一)【虚函数、多态性、抽象类】
- 第十三周 任务三 虚函数、多态性和抽象类
- 第十三周实验报告(任务一)
- 第十三周实验报告 任务一
- 第十三周任务一之类的多态性
- 第十三周任务二纯虚函数与继承
- 第十三周任务三纯虚函数与继承
- pthread/Linux多线程编程
- JMenu
- VB.net中反射的应用举例
- Access 数据库导入到 Sqlite 数据库(解决中文乱码)
- vi自动排版命令
- 第十三周任务一虚函数
- 2012读书计划
- FTP 打开文件夹提示"该文件没有程序与之关联来执行该操作 请在控制面板的文件夹选项中创建关联
- 服务更新错误日志分析
- 关于Matlab写复杂函数的思考
- 问题;关于软件绑马的谁知道。。求解
- c++ 数字的进制转化输出/出入
- ubuntu 如何安装glib2.0
- java常用类库-正则表达式【2】