/* 程序中定义抽象类 Shape,由它派生出 Triangle 和 Circle。请在横线处补充程序以使程序完整,使该程序执行结果为:sum=329.15
*/
#include <iostream>using namespace std;
const double PI=3.1415;
class Shape
{
public:
//请选中下方下划线,并补充代码
__________①___________;
};
class Triangle:public Shape
{
public:
Triangle(double h,double w)
{
H=h;
W=w;
}
double Area(){return 0.5*H*W;}
private:
double H,W;
};
class Circle:public Shape
{
public:
Circle(double r){R=r;}
double Area(){return PI*R*R;}
private:
double R;
};
//请选中下方下划线,并补充代码
double Total(__________②___________)
{
double sum=0;
for(int i=0;i<n;i++)
{
sum+=s[i]->Area();
}
return sum;
}
int main ( )
{
Shape *s[2];
s[0]=new Triangle(6,5);
s[1]=new Circle(10);
double sum=Total(s,2);
cout<<"sum="<<sum<<endl;
return 0;
}