1. 定义一个表示盒子的类Box,盒子的底面为正方形,宽度为width,高度为hight。定义一个Box子类ColorBox,在Box基础上增加颜色属性。两个类都有构造函数和析构函数,并且有输出提示语句。两个类都包含一个show()函
时间: 2024-05-14 18:20:01 浏览: 88
定义一个Box(盒子)类,在该类定义中包括以下数据成员和成员函数
数,用于输出对象的信息。
以下是Box类的代码实现:
```c++
#include <iostream>
using namespace std;
class Box {
protected:
double width, height;
public:
Box(double w, double h) {
width = w;
height = h;
cout << "Box constructor called." << endl;
}
~Box() {
cout << "Box destructor called." << endl;
}
void show() {
cout << "Box width: " << width << ", height: " << height << endl;
}
};
```
以下是ColorBox类的代码实现:
```c++
#include <iostream>
#include "Box.h"
using namespace std;
class ColorBox : public Box {
private:
string color;
public:
ColorBox(double w, double h, string c) : Box(w, h) {
color = c;
cout << "ColorBox constructor called." << endl;
}
~ColorBox() {
cout << "ColorBox destructor called." << endl;
}
void show() {
cout << "ColorBox width: " << width << ", height: " << height << ", color: " << color << endl;
}
};
```
在这里,ColorBox类继承了Box类,并增加了一个字符串类型的color属性。构造函数使用了Box类的构造函数,并在其中初始化了color属性。析构函数也同样被定义了。
show()函数也被重载了,用于输出ColorBox对象的信息。
注意事项:
1. Box类的头文件需要在ColorBox类中包含,因为ColorBox类继承了Box类。
2. 父类的构造函数必须被子类的构造函数调用。在这里,ColorBox类的构造函数使用了Box类的构造函数来初始化width和height属性。
3. 子类析构函数会自动调用父类析构函数。在这里,ColorBox类的析构函数会自动调用Box类的析构函数。
阅读全文