【发布时间】:2015-11-21 01:59:00
【问题描述】:
我收到一条错误消息“分配抽象类类型‘形状’的对象”。圆(双 r):形状(“圆”)。
#include <iostream>
using namespace std;
class Shape{
char name[20];
Shape(char *){};
virtual double getPerimeter()=0;
virtual double getArea()=0;
};
class Circle : public Shape{
double rad;
static const double PI;
public:
Circle(double r):Shape("Circle"){
rad = r;
}
double getRadius(){
return rad;
}
double getPerimeter(double rad){
return 2 * PI * rad;
}
double getArea(double rad){
return PI * (rad * rad);
}
};
class Square : public Shape{
double side;
public:
Square(double s):Shape("Square"){
side = s;
}
double getPerimeter(double side){
return side * 4;
}
double getArea(double side){
return side * side;
}
};
const double Circle::PI = 3.1415;
int main(){
}
这是类 Circle/Square 中的构造函数的问题吗?我不确定,有点失落。在这一点上,我应该研究什么以找到答案的任何提示都会很棒。
谢谢!
【问题讨论】:
标签: c++ class abstract pure-virtual