答案:class Square:public Shape
{public:
Square(double s):side(s){}
double area() const{return side*side;}
private:
double side;
};
class Trapezoid:public Shape
{public:
Trapezoid(double i,double j,double k):a(i),b(j),h(k)
{}
double area() const{return ((a+b)*h/2);}
private:
double a,b,h;
};
class Triangle:public Shape
{public:
Triangle(double i,double j):w(i),h(j)
{}
double area() const{return(w*h/2);}
private:
double w,h;
};
void main()
{Shape *p[5];
Square se(5);
Trapezoid td(2,5,4);
Triangle te(5,8);
p[0]=&se;
p[1]=&td;
p[2]=&te;
double da=0;
for(int i=0;i<3;i++)
{da+=p[i]->area();}
cout<<"总面积是:"<<da<<endl;
}__
|