介绍
使用c++怎么创建一个形状类形状?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
具体要求如下:
<强>(1)形状类形状强>
(a)保护数据成员
双x, y:对于不同的形状,x和y表示不同的含义,如对于圆,x和y均表示圆的半径,而对于矩形,x表示矩形的长,y表示矩形的宽。访问权限定义为保护类型是为了能被继承下去,以便派生类能直接访问x和y。
(b)公有成员函数
构造函数的形状(双值,双_y吗):用值,_y吗分别初始化x, y。
双GetArea():求面积,在此返回0.0。
<强>(2)圆类圆,从形状公有派生强>
(a)公有成员函数
圆(双r):构造函数,并用r构造基类的x和y。
双GetArea():求圆的面积。
双GetRadius():获取圆的半径。
<强>(3)矩形类矩形,从形状公有派生强>
(a)公有成员函数
矩形(双l,双w):构造函数,并用l和w构造基类的x和y。
双GetArea():求矩形的面积。
双GetLength():获取矩形的长。
双GetWidth():获取矩形的宽。
<>强(4)在主函数中对派生类进行测试。注意,在程序的开头定义符号常量π的值为0。3.14。强>
测试的输出结果如下:
循环:r=1,长方形面积=3.14
:长度=3,宽度=4,面积=12
# include “stdafx.h" # includeusing namespace 性传播疾病; # define PI 3.14 class 形状 { 公众: 形状(){} 形状(double _x double _y吗):x(值),y (_y吗){} double GetArea (); 保护: double x, y; , }; double 形状::GetArea () { return 0.0; } class 循环:public 形状 { 公众: 圆(){} 圆(double r) {}, x=r//构造函数,并用r构造基类的x和y。 double 才能GetArea();//求圆的面积。 double 才能GetRadius();//获取圆的半径。 }; , double 循环::GetArea () { return π* x * x; } double 循环::GetRadius () { return x; } , class 矩形:public 形状 { 公众: 矩形(){} 矩形(double l, double w) {x =, l, y=w;}//构造函数,并用l和w构造基类的x和y。 double 才能GetArea();//求矩形的面积。 double 才能GetLength();//获取矩形的长。 double 才能GetWidth();//获取矩形的宽 , }; ,double 矩形::GetArea () ,{ ,return x * y; ,} ,double 矩形::GetLength () ,{ ,return y; ,} ,double 矩形::GetWidth () ,{ ,return x; ,} 命令行参数个数,int 主要(int _TCHAR *, argv []) { Circle 圆(1); cout<& lt;“,半径=? lt; & lt; circle.GetRadius () & lt; & lt;“,面积=? lt; & lt; circle.GetArea () & lt; & lt; endl; Rectangle 矩形(3、4); , cout<& lt;“,长度=? lt; & lt; rectangle.GetLength () & lt; & lt;“,宽度=? lt; & lt; rectangle.GetWidth () & lt; & lt;“,面积=? lt; & lt; rectangle.GetArea () & lt; & lt; endl; return 0; }
关于使用c++怎么创建一个形状类形状问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。