c/c++语言开发共享c++ 形状类Shape(派生出圆类Circle和矩形类Rectangle)

1.建立一个形状类shape作为基类,派生出圆类circle和矩形类rectangle,求出面积并获取相关信息。具体要求如下:(1)形状类shape(a)保护数据成员double x,y:对于不同的形

1.建立一个形状类shape作为基类,派生出圆类circle和矩形类rectangle,求出面积并获取相关信息。

具体要求如下:

(1)形状类shape

(a)保护数据成员
double x,y:对于不同的形状,x和y表示不同的含义,如对于圆,x和y均表示圆的半径,而对于矩形,x表示矩形的长,y表示矩形的宽。访问权限定义为保护类型是为了能被继承下去,以便派生类能直接访问x和y。
(b)公有成员函数
构造函数shape(double _x,double _y):用_x、_y分别初始化x、y。
double getarea():求面积,在此返回0.0。

(2)圆类circle,从shape公有派生

(a)公有成员函数
circle(double r):构造函数,并用r构造基类的x和y。
double getarea():求圆的面积。
double getradius():获取圆的半径。

(3)矩形类rectangle,从shape公有派生

(a)公有成员函数
rectangle(double l,double w) :构造函数,并用l和w构造基类的x和y。
double getarea():求矩形的面积。
double getlength():获取矩形的长。
double getwidth():获取矩形的宽。

(4)在主函数中对派生类进行测试。注意,在程序的开头定义符号常量pi的值为3.14。

测试的输出结果如下:
circle:r=1, area=3.14
rectangle:length=3, width=4, area=12

  #include "stdafx.h"  #include<iostream>  using namespace std;  #define pi 3.14  class shape  {  public:  	shape(){}  	shape(double _x,double _y):x(_x),y(_y){}  	double getarea();  protected:  	double x,y;     };  double shape::getarea()  {  	return 0.0;  }  class circle:public shape  {  public:  	circle(){}  	circle(double r){ x=r;}//构造函数,并用r构造基类的x和y。    double getarea();//求圆的面积。    double getradius();//获取圆的半径。  };     double circle::getarea()  {  	return pi*x*x;  }  double circle::getradius()  {  	return x;  }     class rectangle:public shape  {  public:  	rectangle(){}  	rectangle(double l,double w){x = l;y=w;}//构造函数,并用l和w构造基类的x和y。    double getarea();//求矩形的面积。    double getlength();//获取矩形的长。    double getwidth();//获取矩形的宽     };   double rectangle::getarea()   {  	 return x*y;   }   double rectangle::getlength()   {  	 return y;   }   double rectangle::getwidth()   {  	 return x;   }  int main(int argc, _tchar* argv[])  {  	  	circle circle(1);  	  	cout<<" radius="<<circle.getradius()<<" area="<<circle.getarea()<<endl;  	rectangle rectangle(3,4);     	cout<<" length="<<rectangle.getlength()<<" width="<<rectangle.getwidth()<<" area="<<rectangle.getarea()<<endl;  	return 0;  }

到此这篇关于c++ 形状类shape(派生出圆类circle和矩形类rectangle)的文章就介绍到这了,更多相关c++ 形状类shape内容请搜索<计算机技术网(www.ctvol.com)!!>以前的文章或继续浏览下面的相关文章希望大家以后多多支持<计算机技术网(www.ctvol.com)!!>!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/596541.html

(0)
上一篇 2021年5月8日
下一篇 2021年5月8日

精彩推荐