#include#includeusingnamespacestd;classShape{public:virtualstringShapename(){return"Shape";}virtualintarea()=0;virtualdoublevolume()=0;};classPoint:publ...
#include
#include
using namespace std;
class Shape{
public:
virtual string Shapename(){
return "Shape";
}
virtual int area()=0;
virtual double volume()=0;
};
class Point:public Shape{
public:
Point(){}
Point(int x,int y){
this->x=x;
this->y=y;
}
string Shapename(){return "Point";}
int area(){return 0;}
double volume(){return 0;}
private:
int x;
int y;
};
class Circle:public Point{
public:
Circle(){}
Circle(int _r,int x,int y):Point(x,y){
r=_r;
}
string Shapename(){return "Circle";}
int area(){return 3.14*r*r;}
double volume (){return 0;}
private:
int r;
};
class Cylinder:public Circle{
public:
Cylinder(){}
Cylinder(int _h,int x,int y,int r):Circle(x,y,r){
h=_h;
}
string Shpaename(){return "Cylinder";}
int area(){return 0;}
double volume(){return 3.14*r*r*h;}//在这里报错,无法访问父类私有成员,那要怎么办,java里有super,c++这里要怎么办
private:
int h;
};
不要告诉我设置成public
展开