这个问题是在要求设计一个基类Shape,该类包括3个属性:图形名称(name)、图形面积(area)、图形周长(perimeter)。该类包含3个成员函数:calarea(),计算并返回该图形的面积;calperime(),计算并返回该图形的周长。该类包含3个成员函数:calarea(),计算并返回该图形的面积;calperime(),计算并返回该图形的周长。
时间: 2024-02-11 19:08:33 浏览: 75
好的,你需要我为你实现一个基类Shape,它包括三个属性:图形名称(name)、图形面积(area)、图形周长(perimeter),以及三个成员函数calarea()、calperime()和show()。
以下是基类Shape的实现代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
class Shape {
protected:
string name;
double area;
double perimeter;
public:
Shape(string n = "") : name(n), area(0.0), perimeter(0.0) {}
virtual double calarea() = 0;
virtual double calperime() = 0;
virtual void show() {
cout << "名称:" << name << endl;
cout << "面积:" << area << endl;
cout << "周长:" << perimeter << endl;
}
};
```
在这个实现中,我们定义了一个名称为Shape的类,并在其中定义了三个属性:名称、面积和周长。我们还定义了一个默认的构造函数,用于初始化对象的属性。同时,我们定义了三个纯虚函数calarea()、calperime()和show(),它们的实现将在派生类中进行。
需要注意的是,我们将show()函数的实现放在了基类中,因为这些属性在所有派生类中都是相同的。
阅读全文