#include
using namespace std;
class Shape
{
protected:
double x,y;
public:
Shape(double c,double d)
{
x=c;y=d;
}
virtual double Area()=0;
virtual void Print()=0;
};
class Trapezia:public Shape
{
private:
double topline,baseline,height;
public:
Trapezia(double t=0,double b=0,double h=0,double c=0,double d=0);
double Area();
void Print();
};
Trapezia::Trapezia(double t,double b,double h,double c,double d):Shape(c,d)
{
topline = t;baseline = b;height = h;
}
double Trapezia::Area()
{
double t = Trapezia::topline;
double b = Trapezia::baseline;
double h = Trapezia::height ;
return (t+b)*h/2;
}
void Trapezia::Print()
{
cout<<"Trapezia Position=("<
int main()
{
Shape *ps4;
Trapezia t1(12,13,14,15,16);
ps4=&t1;
ps4->Print();
cout<<"Area="<
}
protected:
double x,y;,呵呵你初始化后又没有提供修改他的接口,
Trapezia(double t=0,double b=0,double h=0,double c=0,double d=0);这也很让人纠结,呵呵,我今天就不帮你看了,你自己修改下吧,至少要规范一些,另外,建议,一定要避免使用protected关键字哟。要么公要么私。呵呵