法国巴黎一大:C++的继承机制

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 15:01:03
设计一个圆类CIRCLE,该类的保护型数据成员radius_a代表半径。其构造函数为radius_a赋初值。析构函数显示该圆的面积。设计一个椭圆类ELLIPSE,该类是CIRCLE的派生类。新增保护型数据成员radius_b代表椭圆另一半径。其构造函数为radius_a(通过构造函数的参数传递方式)和radius_b赋初值。析构函数显示该椭圆的面积。另设计程序主函数,主函数仅创建分属CIRCLE类和ELLIPSE类的两个对象。

帮你写了这个程序,可以给你作为参考。

#include "stdio.h"

class circle
{
public:
circle(double a){radius_a = a;}
virtual ~circle()
{
printf("circle's Area : %f\n",3.14*radius_a*radius_a);
}
protected:
double radius_a;
};
class ellipse : public circle
{
public:
ellipse(double a,double b):circle(a){radius_b =b;} //调用基类的构造函数,传递参数
virtual ~ellipse()
{
printf("ellipse 's Area : %f\n",3.14*radius_b*radius_a);
}
protected:
double radius_b;
private:
};

void main()
{
ellipse el(10,100);
}