第13周-任务1-抽象类-用车辆类去体会

简介: 【题目】阅读下面的程序 (任务1.1)请写出程序的执行结果,并在上机时对照理解class Vehicle {public: void run() const { cout << "run a vehicle. "<<endl; } //(2) run()为虚函数}; class Car: public Vehicle {public: void
【题目】阅读下面的程序
(任务1.1)请写出程序的执行结果,并在上机时对照理解
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();
} 

(任务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)提交博文,记录实验过程和结果,用自己的话概括你对虚函数、多态性和抽象类的理解。


【老贺懒一回】

自己思考、运行、对比,得来的也是自己的体会,老贺就此沉默一回了。



目录
相关文章
|
4月前
|
编译器
上周考试错题总结(构造方法, 抽象类)
上周考试错题总结(构造方法, 抽象类)
|
C++
C++第13周项目2 - 多重继承教师类和干部类
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/8953304 【项目2】分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)
1600 0
|
测试技术
类、抽象类、接口的综合小练习---运动员和教练案例
运动员和教练案例图解 文字分析和示例代码如下: 1 /* 2 运动员和教练案例: 3 乒乓球运动员和篮球运动员。 4 乒乓球教练和篮球教练。
1307 0
|
C++
2015级C++第13周实践项目 多态性和实现
【项目1-分数类中的运算符重载】 参考解答   (1)实现分数类中的运算符重载,在分数类中可以完成分数的加减乘除(运算后再化简)、比较(6种关系)的运算。 class CFraction { private: int nume; // 分子 int deno; // 分母 public: //构造函数及运算符重载的函数声明 }; //重载函数的
1124 0
|
C++
2013级C++第14周(春)项目——多态性、虚函数和抽象类
课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 第一部分 阅读程序1、阅读、修改和运行关于交通工具类的程序,回答问题,以理解相关技术方法(1)请写出程序的执行结果,并在上机时对照理解 #include &lt;iostream&gt; using namespace std; class
1272 0
|
C++
C++第12周(春)项目1 - 长颈鹿类对动物类的继承
课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 【项目1 - 长颈鹿类对动物类的继承】理解基类中成员的访问限定符和派生类的继承方式  请在下面的程序中要求的位置写下注释,声明相应的语句在语法上是否正确,为什么。在第一个程序中给出了示例,其他位置请仿照完成。在上机时,可以编译程序加以验证,
1126 0
|
C++
C++第11周(春)项目3 - 点类派生直线类
课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 【项目3 - 点类派生直线类】定义点类Point,并以点类为基类,派生出直线类Line,从基类中继承的点的信息表示直线的中点。请阅读下面的代码,并将缺少的部分写出来。 #include&lt;iostream&gt; #include&l
1416 0
|
C++
C++第7周(春)项目4 友元类
课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 【项目4-友元类】  定义下面两个类的成员函数(为体验友元类,实际上本例并不一定是一个好的设计,将两个类的合并为一个DateTime,日期、时间都处理更好) class Date; //对Date类的提前引用声明 class Time
1094 0
|
C++
C++第6周(春)项目4 静态成员应用
课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 【项目4-静态成员应用】  设计含有静态数据成员和成员函数的Time类。静态数据成员是类中所有的对象共有的数据,在下面的设计中,时钟要采用12小时制,还是要使用24小时制,显示时,不足两位的数字前是否前导0,都是“影响全局”的设置,适合作为
845 0
|
测试技术 C++
C++第5周(春)项目2 分数类的雏形
课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 【项目2-分数类的雏形】   C++中提供了多种基本的数据类型。实际上,这些远不能满足我们的需求,如复数(第10章的例子大多是处理虚数的),再如分数。我们可以自定义类支持这些数据类型。   本任务将设计一个简单的分数类,完成对分数的几个
1460 0