IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 上机实验05:继承和多态(一) -> 正文阅读

[数据结构与算法]上机实验05:继承和多态(一)

#include <iostream>
#include <string>
using namespace std;

class Box {
?public:
? //构造函数
? Box() {
? ?cout << "Box" << " " << "无参构造函数..." << endl;
? ?width = -1;
? ?height = -1;
? };
? Box(int a, int b) {
? ?cout << "Box" << " " << "有参构造函数..." << endl;
? ?width = a;
? ?height = b;
? };
? //析构函数
? ~Box() {
? ?cout << "Box" << " " << "析构函数..." << endl;
? };
? //成员函数
? void display() const;
?protected:
? int width;
? int height;
};

//TODO Box类成员函数实现--编写代码
class ColoredBox: public Box {
?public:
? //构造函数
? ColoredBox() {
? ?cout << "ColoredBox" << " " << "无参构造函数..." << endl;
? ?color = "黑色";
? };
? ColoredBox(int a, int b, string c): Box(a, b) {
? ?cout << "ColoredBox" << " " << "有参构造函数..." << endl;
? ?color = c;
? };
? //析构函数
? ~ColoredBox() {
? ?cout << "ColoredBox" << " " << "析构函数..." << endl;
? };
? //成员函数
? void display() const;
?private:
? string color;
};

//TODOColoredBox类成员函数实现--编写代码
void Box::display() const {
?cout << "Box" << " " << "width=" << width << ',' << "height=" << height << endl;
}

void ColoredBox::display() const {
?cout << "ColoredBox" << " " << "width=" << width << ',' << "height=" << height << ',' << "color=" << color << endl;
}

int main() {
?Box box1;
?ColoredBox box2;
?int width, height;
?string color;
?cin >> width >> height >> color;
?ColoredBox box3(width, height, color);
?box1.display();
?box2.display();
?box3.display();
?Box(box3).display();
?return 0;
}
#include <iostream>
using namespace std;

class Vehicle {
?public:
? //构造函数
? Vehicle() {
? ?cout << "Vehicle " << "无参构造函数..." << endl;
? ?wheels = 4;
? ?weight = 2;
? };
? Vehicle(int a, int b) {
? ?cout << "Vehicle " << "有参构造函数..." << endl;
? ?wheels = a;
? ?weight = b;
? };
? //析构函数
? ~Vehicle() {
? ?cout << "Vehicle " << "析构函数..." << endl;
? };
? //成员函数
? void show() const;
?protected:
? int wheels;
? //车轮数
? int weight;
? //车重
};

//TODO Vehicle类成员函数实现
class Car: public Vehicle {
?public:
? //构造函数
? Car() {
? ?cout << "Car " << "无参构造函数..." << endl;
? ?passenger = 4;
? };
? Car(int a, int b, int c): Vehicle(a, b) {
? ?cout << "Car " << "有参构造函数..." << endl;
? ?passenger = c;
? };
? //析构函数
? ~Car() {
? ?cout << "Car " << "析构函数..." << endl;
? };
? //成员函数
? void show() const;
?private:
? int passenger;
? //载人数
};

//TODO Car类成员函数实现
class Truck: public Vehicle {
?public:
? //构造函数
? Truck() {
? ?cout << "Truck " << "无参构造函数..." << endl;
? ?passenger = 2;
? ?payload = 10;
? };
? Truck(int a, int b, int c, int d): Vehicle(a, b) {
? ?cout << "Truck " << "有参构造函数..." << endl;
? ?passenger = c;
? ?payload = d;
? };
? //析构函数
? ~Truck() {
? ?cout << "Truck " << "析构函数..." << endl;
? };
? //成员函数
? void show() const;
?private:
? int passenger;
? //载人数
? int payload;
? //载重量
};

//TODO Truck类成员函数实现
//主函数
void Vehicle::show() const {
?cout << "Vehicle " << "wheels=" << wheels << ',' << "weight=" << weight << endl;
}

void Car::show() const {
?cout << "Car " << "wheels=" << wheels << ',' << "weight=" << weight << ',' << "passenger=" << passenger << endl;
}

void Truck::show() const {
?cout << "Truck " << "wheels=" << wheels << ',' << "weight=" << weight << ',' << "passenger=" << passenger << "," <<
? ? ? "payload=" << payload << endl;
}int main() {
?int wheels, weight, passenger, payload;
?Vehicle vc1;
?vc1.show();
?Car car1;
?car1.show();
?cin >> wheels >> weight >> passenger;
?Car car2(wheels, weight, passenger);
?car2.show();
?Truck trk1;
?trk1.show();
?cin >> wheels >> weight >> passenger >> payload;
?Truck trk2(wheels, weight, passenger, payload);
?trk2.show();
?return 0;
}


?

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-04-30 08:55:25  更:2022-04-30 08:59:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:00:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码