Problem Description
抽象类TDshape表示二维平面图形,三角形Triangle、长方形Rectangle是TDshape的派生类。
成员函数area()计算二维平面图形的面积,
成员函数printAll()输出二维平面图形的名字、面积和数据成员。
函数void fp(TDshape* p)和函数void fr(TDshape& r)是以TDshape为接口的函数,
输出二维平面图形的所有信息。
//你的代码将被嵌在这里
int main()
{
double down, height, lenght, width;
cin >> down >> height >> lenght >> width;
Triangle triangle(down, height);
Rectangle rectangle(lenght, width);
Triangle* pt = ▵
Rectangle& rr = rectangle;
cout << “******from obj:” << endl;
pt->printAll();
rr.printAll();
cout << “******from fp:” << endl;
fp(&triangle);
fp(&rectangle);
cout << “******from fr:” << endl;
fr(triangle);
fr(rectangle);
return 0;
}
Input Description
第1、2个数是三角形底和高
第3、4个数是长方形的长和宽
Sample Input
3 4 5 6
Sample Output
******from obj:
Triangle
底:3
高:4
面积:6
Rectangle
长:5
宽:6
面积:30
******from fp:
Triangle
底:3
高:4
面积:6
Rectangle
长:5
宽:6
面积:30
******from fr:
Triangle
底:3
高:4
面积:6
Rectangle
长:5
宽:6
面积:30
#include <iostream>
using namespace std;
class TDshape//抽象类
{
public:
TDshape(){
}
virtual double area() = 0;