#include <iostream.h>
#define PI 3.1415926
class circle // 圆
{
public:
double r; //圆半径
circle(double x)
{
r=x;
}
double area() //圆面积
{
return PI*r*r;
}
};
class ball:public circle //球
{
public:
double Area() //球面积
{
return 4*PI*r*r*r;
}
};
class ti:public circle //圆柱
{
public:
double h;
ti(double x) // 运行时指向此行出错
{
h=x;
}
double carea() //圆柱面积
{
return PI*r*r*2+2*PI*r*h;
}
};
main()
{
circle ci(3);
ball ba; // 运行时指向此行出错
ti t(4);
cout<<"圆面积:"<<ci.area()<<endl;
cout<<"球面积:"<<ba.Area()<<endl;
cout<<"球柱面积:"<<t.carea()<<endl;
return 0;
}
// 运行时的结果如下
'circle':no appropriate default constructor available (没有默认的构造函数可用)
'ball':no appropriate default constructor available
虽然我找到了解决法案,但不知道这个问题出在哪里,为什么不能这样继承,要怎么去改正。谢谢 问题一解决 马上给分