1.源代码
#include <iostream>
using namespace std;
class Shape //定义一个图形类
{
private:
double perimeter; //定义周长
double area; //定义面积
public:
Shape(){} //无参构造
Shape(double p,double a):perimeter( p),area(a){} //有参构造
~Shape(){} //析构函数
};
class Circle:public Shape //定义一个圆形类
{
private:
double r; //定义私有属性 半径
public:
Circle(){} //无参构造
Circle(double p,double a,double R):Shape(p,a),r(R) {} //有参构造
double get_perimeter() //定义获取周长函数
{
return 2*3.14*this->r;
}
double get_area() //定义获取面积函数
{
return 3.14*this->r*this->r;
}
};
class Rect:public Shape //定义一个矩形类
{
private:
int length; //定义矩形的长度
int width; //定义矩形的宽度
public:
Rect(){} //无参构造
Rect(double p,double a,int l,int w):Shape(p,a),length(l),width(w){} //有参构造
int get_perimeter() //定义获取周长函数
{
return 2*(this->width+this->length);
}
int get_area() //定义获取面积函数
{
return this->width*this->length;
}
};
int main()
{
Circle c(0,0,3); //构造并初始化一个圆形类
cout<<"圆形周长为:"<<c.get_perimeter()<<endl;
cout<<"圆形面积为:"<<c.get_area()<<endl;
Rect r(0,0,3,4); //构造并初始化一个矩形类
cout<<"矩形周长为:"<<r.get_perimeter()<<endl;
cout<<"矩形面积为:"<<r.get_area()<<endl;
c.~Circle();
r.~Rect();
return 0;
}
2.运行结果图
3. 思维导图