https://note.youdao.com/s/X4brz1PIhttps://note.youdao.com/s/X4brz1PI
实现一个图形类(Shape),包含受保护成员属性:周长、面积,
公共成员函数:特殊成员函数书写
定义一个圆形类(Circle),继承自图形类,包含私有属性:半径
公共成员函数:特殊成员函数、以及获取周长、获取面积函数
定义一个矩形类(Rect),继承自图形类,包含私有属性:长度、宽度
公共成员函数:特殊成员函数、以及获取周长、获取面积函数
在主函数中,分别实例化圆形类对象以及矩形类对象,并测试相关的成员函数。
#include <iostream>
using namespace std;
#define PI 3.14
//图形类
class Shape{
public:
//无参构造
Shape(){}
//有参构造
Shape(double c,double a):peri(c),area(a){}
protected:
double peri;
double area;
};
//圆形类 继承自图形类
class Circle:public Shape{
private:
int radi;
public:
Circle(){}
Circle(double r):radi(r){}
double get_peri(){
cout<<"周长为:";
peri = 2*radi*PI;
return peri;
}
double get_area(){
cout<<"面积为:";
area = PI*radi*radi;
return area;
}
};
class Rect:public Shape{
private:
int length;
int brea;
public:
//无参构造
Rect():Shape(2*(1+1),1*1),length(1),brea(1){}
//有参构造
Rect(int l,int b):Shape(2*(l+b),l*b),length(l),brea(b){}
double get_peri(){
cout<<"周长为:";
peri = 2*(length + brea);
return peri;
}
double get_area(){
cout<<"面积为:";
area = length*brea;
return area;
}
};
int main()
{
Circle c(4);
cout<<c.get_area()<<endl;
cout<<c.get_peri()<<endl;
Rect r(3,4);
cout<<r.get_area()<<endl;
cout<<r.get_peri()<<endl;
return 0;
}