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


【老贺懒一回】

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



目录
相关文章
|
人工智能 安全 网络安全
黑客工具FraudGPT
【2月更文挑战第13天】黑客工具FraudGPT
452 2
黑客工具FraudGPT
|
存储 JavaScript 前端开发
盘点主流 Flutter 状态管理库2024
状态管理是每个应用不可缺少的,本文将会盘点下主流的状态管理包。
532 2
盘点主流 Flutter 状态管理库2024
|
人工智能 供应链 Linux
《国产服务器操作系统发展报告(2023)》重磅发布
根据近期信通院面向用户群体的调研显示,国产服务器操作系统逐渐成为各行业替换首选,其中,龙蜥操作系统位列用户意愿迁移系统的首位。
|
Web App开发 JavaScript 前端开发
python实现QQ空间自动点赞功能
python实现QQ空间自动点赞功能
204 0
|
Ubuntu Java Linux
|
前端开发 数据可视化 JavaScript
前端图形学实战: 100行代码实现几何画板的撤销重做等功能(vue3 + vite版)
前端图形学实战: 100行代码实现几何画板的撤销重做等功能(vue3 + vite版)
186 0
|
前端开发 JavaScript C#
C#开发者的新天地:Blazor如何颠覆传统Web开发,打造下一代交互式UI?
【8月更文挑战第28天】Blazor 是 .NET 生态中的革命性框架,允许使用 C# 和 .NET 构建交互式 Web UI,替代传统 JavaScript。本文通过问答形式深入探讨 Blazor 的基本概念、优势及应用场景,并指导如何开始使用 Blazor。Blazor 支持代码共享、强类型检查和丰富的生态系统,简化 Web 开发流程。通过简单的命令即可创建 Blazor 应用,并利用其组件化和数据绑定特性快速搭建界面。无论对于 .NET 还是 Web 开发者,Blazor 都是一个值得尝试的新选择。
900 1
|
11月前
|
网络协议 Linux
linux学习之套接字通信
Linux中的套接字通信是网络编程的核心,允许多个进程通过网络交换数据。套接字提供跨网络通信能力,涵盖本地进程间通信及远程通信。主要基于TCP和UDP两种模型:TCP面向连接且可靠,适用于文件传输等高可靠性需求;UDP无连接且速度快,适合实时音视频通信等低延迟场景。通过创建、绑定、监听及读写操作,可以在Linux环境下轻松实现这两种通信模型。
218 1
|
安全 Windows
使用jks文件为apk签名
使用jks文件为apk签名
516 0
|
安全 应用服务中间件 网络安全
阿里云ssl证书简介和使用流程
了解如何在阿里云注册并实名账号,然后购买和部署SSL证书以增强网站安全性。阿里云SSL证书提供强大的加密、身份验证及SEO优势。通过简单流程购买适合的证书类型,如CFCA通配符OV证书,并在Nginx服务器上安装。遵循官方文档,下载证书,编辑Nginx配置并重启服务实现HTTPS。阿里云SSL证书是保障网站安全的高效解决方案。
572 2
阿里云ssl证书简介和使用流程