定义一个“点”类point,并在此基础上定义长方形类rect以及圆类circle,并求出派生类的周长和面积(自行设计成员变量和成员函数)。
时间: 2023-04-25 09:02:32 浏览: 157
定义三个类Point,Circle和Cylinder,Point类为基类,为上述3个类添加计算面积的成员函数Area(),要求函数Area()采用虚函数的形式,并通过基类指针调用虚函数Area()。
点类point的定义:
class point{
private:
double x,y;
public:
point(double xx=,double yy=):x(xx),y(yy){} //构造函数
double getx(){return x;} //获取x坐标
double gety(){return y;} //获取y坐标
};
长方形类rect的定义:
class rect:public point{
private:
double width,height;
public:
rect(double xx=,double yy=,double w=,double h=):point(xx,yy),width(w),height(h){} //构造函数
double getwidth(){return width;} //获取长方形宽度
double getheight(){return height;} //获取长方形高度
double perimeter(){return 2*(width+height);} //计算长方形周长
double area(){return width*height;} //计算长方形面积
};
圆类circle的定义:
class circle:public point{
private:
double radius;
public:
circle(double xx=,double yy=,double r=):point(xx,yy),radius(r){} //构造函数
double getradius(){return radius;} //获取圆的半径
double perimeter(){return 2*3.14*radius;} //计算圆的周长
double area(){return 3.14*radius*radius;} //计算圆的面积
};
以上是点类、长方形类和圆类的定义,其中派生类rect和circle分别继承了点类point的x和y坐标。在派生类中,我们可以定义自己的成员变量和成员函数,以实现对长方形和圆的周长和面积的计算。
阅读全文