用C++编写一个程序,基类为正方形类,数据包含求面积、周长、构造函数、输出函数,子类为正方体,保护继承于正方形类,数据包含高,新增方法包含构造函数、求体积函数,在主函数中构建子类对象,并将输出结果保存在文件中
时间: 2024-02-23 16:59:23 浏览: 62
好的,这是一个简单的代码实现:
```C++
#include <iostream>
#include <fstream>
using namespace std;
class Square {
protected:
double side;
public:
Square(double s) {
side = s;
}
double getArea() {
return side*side;
}
double getPerimeter() {
return 4*side;
}
void print() {
cout << "正方形的边长为:" << side << endl;
cout << "正方形的面积为:" << getArea() << endl;
cout << "正方形的周长为:" << getPerimeter() << endl;
}
};
class Cube: public Square {
private:
double height;
public:
Cube(double s, double h): Square(s) {
height = h;
}
double getVolume() {
return getArea()*height;
}
void print() {
Square::print();
cout << "正方体的高为:" << height << endl;
cout << "正方体的体积为:" << getVolume() << endl;
}
};
int main() {
Cube cube(5, 10);
cube.print();
ofstream outfile("output.txt");
streambuf* cout_backup = cout.rdbuf();
cout.rdbuf(outfile.rdbuf());
cube.print();
cout.rdbuf(cout_backup);
outfile.close();
return 0;
}
```
程序的基类为Square,它包含了正方形的边长、面积、周长、构造函数和输出函数。子类为Cube,它保护继承于Square,并增加了正方体的高、体积、构造函数和输出函数。在主函数中,我们构建了一个Cube对象,并将输出结果保存在文件中。
阅读全文