题目描述:
定义一个Table类和Circle类, Table类有高度high属性,Circle类有半径 radius属性,类型都为float。 Circle类有GetArea()方法,返回圆的面积。 Table类有GetHigh方法,返回Table的高度。
实现一个RoundTable类,它由Table类和Circle类共同派生出,并拥有color属性 同时实现 char* GetColor方法,返回color的值。
本题中圆周率请取为3.14
最终RoundTable类的使用方法如下所示,在你的代码中除了实现以上三个类,还需加入如下main函数:
int main(){
float radius
,high
;
char color
[20];
cin
>>radius
>>high
>>color
;
RoundTable
RT(radius
,high
,color
);
cout
<<"Area:"<<RT
.GetArea()<<endl
;
cout
<<"High:"<<RT
.GetHigh()<<endl
;
cout
<<"Color:"<<RT
.GetColor()<<endl
;
return 0;
}
实现:
#include<iostream>
using namespace std
;
class Table {
private:
float high
;
public:
Table() { high
= 0; }
Table(float h
) { high
= h
; }
float GetHigh()
{
return high
;
}
};
class Circle
{
private:
float radius
;
public:
Circle() { radius
= 0; }
Circle(float r
) { radius
= r
; }
float GetArea() {
return radius
* radius
* 3.14;
}
};
class RoundTable :public Table
, public Circle
{private:
char color
[20];
public:
RoundTable(float r
, float h
, char* col
) :Circle(r
),Table(h
)
{
strcpy(color
, col
);
}
char* GetColor()
{
return color
;
}
};
int main() {
float radius
, high
;
char color
[20];
cin
>> radius
>> high
>> color
;
RoundTable
RT(radius
, high
, color
);
cout
<< "Area:" << RT
.GetArea() << endl
;
cout
<< "High:" << RT
.GetHigh() << endl
;
cout
<< "Color:" << RT
.GetColor() << endl
;
return 0;
}