类定义如下: class shape{ protected: double r; public: shape(double x){r=x;} virtual void area()=0; virtual void perimeter()=0; }; (1) 以shape类为基类,派生一个circle圆形类,在派生类中对shape类中求面积和周长的虚函数进行重载。 (2) 对类进行实例化,输出运算结果
class shape
{
protected: double r;
public: shape(double x){r=x;}
virtual float area()=0;
virtual float perimeter()=0;
};
class circle : public shape
{
public:
circle(double x):shape(x) {}
float area() {return 3.14159*r*r;}
float perimeter() {return 2*3.14159*r;}
};
int main()
{
circle c(10);
printf("area=%g,perimeter=%g",c.area(),c.perimeter());
return 0;
}
子类只需要重写基类同名函数就可以啦
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632