网页编程培训,深圳网站seo哪家快,seo优化知识总结,wordpress分类目录绑定二级域名目录
实现一个图形类#xff08;Shape#xff09;#xff0c;包含受保护成员属性#xff1a;周长、面积#xff0c;
公共成员函数#xff1a;特殊成员函数书写
定义一个圆形类#xff08;Circle#xff09;#xff0c;继承自图形类#xff0c;包含私有属性#x…目录
实现一个图形类Shape包含受保护成员属性周长、面积
公共成员函数特殊成员函数书写
定义一个圆形类Circle继承自图形类包含私有属性半径
公共成员函数特殊成员函数、以及获取周长、获取面积函数
定义一个矩形类Rect继承自图形类包含私有属性长度、宽度
公共成员函数特殊成员函数、以及获取周长、获取面积函数
在主函数中分别实例化圆形类对象以及矩形类对象并测试相关的成员函数。
代码 运行结果
思维导图 实现一个图形类Shape包含受保护成员属性周长、面积
公共成员函数特殊成员函数书写
定义一个圆形类Circle继承自图形类包含私有属性半径
公共成员函数特殊成员函数、以及获取周长、获取面积函数
定义一个矩形类Rect继承自图形类包含私有属性长度、宽度
公共成员函数特殊成员函数、以及获取周长、获取面积函数
在主函数中分别实例化圆形类对象以及矩形类对象并测试相关的成员函数。
代码
#include iostreamusing namespace std;#define PI 3.14class Shape
{
protected:double circumference;double area;
public://无参构造Shape(){}//有参构造Shape(double c,double a):circumference(c),area(a){}//拷贝构造Shape(const Shape s):circumference(s.circumference),area(s.area){}//移动构造Shape(Shape s):circumference(s.circumference),area(s.area){}//拷贝赋值Shape operator(const Shape s){circumference s.circumference;area s.area;return *this;}//移动赋值Shape operator(Shape s){circumference s.circumference;area s.area;return *this;}//析构函数~Shape(){}
};class Circle:public Shape
{
private:int radius;
public://无参构造Circle ():Shape(2*PI,PI),radius(1){}//有参构造Circle (int r):Shape(2*PI*r,PI*r*r),radius(r){}//拷贝构造Circle(const Circle c):Shape(c.circumference,c.area),radius(c.radius){}//移动构造Circle(Circle c):Shape(c.circumference,c.area),radius(c.radius){}//拷贝赋值Circle operator(const Circle c){circumference c.circumference;area c.area;radius c.radius;return *this;}//移动赋值Circle operator(Circle c){circumference c.circumference;area c.area;radius c.radius;return *this;}//析构函数~Circle(){}//外部获取改变参数Circle argch(int r){circumference 2*PI*r;area PI*r*r;radius r;return *this;}//获取周长函数double circumference_get(){//cout周长为:;return circumference;}//获取面积函数double area_get(){//cout面积为:;return area;}
};class Rect:public Shape
{
private:int length;int width;
public://无参构造Rect ():Shape(2*(11),1*1),length(1),width(1){}//有参构造Rect (int l,int w):Shape(2*(lw),l*w),length(l),width(w){}//拷贝构造Rect(const Rect r):Shape(r.circumference,r.area),length(r.length),width(r.width){}//移动构造Rect(Rect r):Shape(r.circumference,r.area),length(r.length),width(r.width){}//拷贝赋值Rect operator(const Rect r){circumference r.circumference;area r.area;length r.length;width r.width;return *this;}//移动赋值Rect operator(Rect r){circumference r.circumference;area r.area;length r.length;width r.width;return *this;}//析构函数~Rect(){}//外部获取改变参数Rect argch(int l,int w){circumference 2*(lw);area l*w;length l;width w;return *this;}//获取周长函数double circumference_get(){//cout周长为:;return circumference;}//获取面积函数double area_get(){//cout面积为:;return area;}
};int main()
{cout****************以下为Circle测试**************endl;Circle c1(5);coutc1:面积为:c1.area_get() 周长为:c1.circumference_get()endl;Circle c2;coutc2:面积为:c2.area_get() 周长为:c2.circumference_get()endl;c2 c1;coutc2:面积为:c2.area_get() 周长为:c2.circumference_get()endl;c1.argch(7);coutc1:面积为:c1.area_get() 周长为:c1.circumference_get()endl;Circle c3(c1);coutc3:面积为:c3.area_get() 周长为:c3.circumference_get()endl;cout*****************以下为Rect测试***************endl;Rect r1(3,4);coutr1:面积为:r1.area_get() 周长为:r1.circumference_get()endl;Rect r2;coutr2:面积为:r2.area_get() 周长为:r2.circumference_get()endl;r2 r1;coutr2:面积为:r2.area_get() 周长为:r2.circumference_get()endl;r1.argch(5,6);coutr1:面积为:r1.area_get() 周长为:r1.circumference_get()endl;Rect r3(r1);coutr3:面积为:r3.area_get() 周长为:r3.circumference_get()endl;return 0;
}运行结果 思维导图