没有合适构造函数问题
struct Shape{
virtual double area()=0;
virtual double tiji()=0;
virtual double dimianji()=0;
virtual double dimianzhouchang()=0;//虚函数,写好面积,底面积,底面周长,体积的纯虚函数
};
class Rectangle:public Shape//矩形
{
public:
Rectangle(double c,double k)//构造函数
{
chang=c;
kuan=k;
}
virtual double area()//改写面积
{
return chang*kuan;
}
virtual double tiji()//体积,底面积,底面周长没有,返回0
{
return 0;
}
virtual double dimianzhouchang()
{
return 0;
}
virtual double dimianji()
{
return 0;
}
double chang,kuan;
};
class Box:public Rectangle//长方体
{
public:
Box(double g)//构造函数//“Rectangle”: 没有合适的默认构造函数可用为什么?我RECTANGLE有构造函数的呀
{
gao=g;
}
virtual double area()//面积没有,返回0
{
return 0;
}
virtual double tiji()//体积,底面积,底面周长改写
{
return chang*kuan*gao;
}
virtual double dimianji()
{
return chang*kuan;
}
virtual double dimianzhouchang()
{
return 2*(chang+kuan);
}
private:
double gao;
};