怎样算是在派生类中实现基类中的纯虚函数?

#include<iostream>usingnamespacestd;staticconstdoublePI=3.14;classShape{public:Shape(... #include<iostream>
using namespace std;

static const double PI = 3.14;

class Shape
{
public:
Shape(double temp)
{
cout<<"enter the redius:"<<endl;
cin>>temp;
};
virtual void area()=0;
virtual void perimeter()=0;
virtual void volume()=0;
};
class Circle:public Shape
{
public:
double redius;
Circle(double redius):Shape(redius){}

void aera()
{
cout<<"the area is "<<PI*redius*redius<<endl;
}
void perimeter()
{
cout<<"the perimeter is "<<2*PI*redius<<endl;
}
void volume()
{
cout << "Volume is not defined for circle." << endl;
}
};
我在派生类Circle里重新定义了area(),perimeter(),volume()三个函数,但在创建一个Circle对象时,如Circle cir,编译器会报错说不允许使用抽象类Circle对象什么的。我现在搞不懂怎样才算把纯虚函数实现。
展开
 我来答
ssilspro
2011-04-22 · TA获得超过2625个赞
知道大有可为答主
回答量:1148
采纳率:0%
帮助的人:1722万
展开全部
定义基类指针,指向类对象( 基类或继承类的)
基类指针->虚函数 调用的是相应类对象的对应函数

纯虚的话 基类相应函数没有函数体 所以无法用 只是保证继承类必须从定义纯虚一下

你的派生类没有默认构造

基类是area 派生类是aera 打错了
所以认为派生类没有定义area
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式