设计一个 Rectangle 类来表示矩形。包含以下成员: ①两个数据成员 width 和 height,分别代表矩形的宽和高,缺省值都为 1; ②缺省函数 Rectangle( )用来创建一个缺省的矩形; ③带参构造函数 Rectangle(int width, int height)用来创建一个指定宽和高的矩形; ④两个获取数据成员的函数 getWidth( )和 getHeight( )分别用来获取 width 和 height 的值; ⑤两个赋值函数 setWidth(int newWidth)和 setHeight(int newHeight)分别为两个数据成员赋值; ⑥成员函数 getArea( )返回矩形的面积; ⑦成员函数 getPerimeter( )返回矩形的周长。 (1)实现这个类;编写程序创建两个 Rectangle 对象,一个对象的宽和高分别是 4 和 40,另一个对象的宽和高分别是 3.5 和 35.9;显示两个对象的数据成员的值、面积和周长。 (2)使用(1)定义的 Rectangle 类,在该类中声明一个友元函数 print_Rectangle( ), 编写该函数用来打印出 Rectangle 类的私有成员 length 和 width。创建一个 Rectangle 对象,调用 print_Rectangle( )函数进行测试。
4条回答 默认 最新
- qfl_sdu 2021-05-26 14:35关注
代码如下,如有帮助,请采纳一下,谢谢。
#include <stdio.h> class Rectangle { private: int width,height; public: Rectangle(){width = 1; height = 1;} Rectangle(int width,int height):width(width),height(height){} int getWidth(){return width;} int getHeight(){return height;} void setWidth(int newWidth){width = newWidth;} void setHeight(int newHeight){height = newHeight;} int getArea(){return width * height;} int getPerimeter(){return 2*(width + height);} friend void print_Rectangle(Rectangle* p); }; void print_Rectangle(Rectangle* p) { printf("width=%d;height=%d\n",p->width,p->height); } int main() { Rectangle r1(4,40); Rectangle r2(3.5,35.9); printf("r1的宽=%d;高=%d;面积=%d;周长=%d\n",r1.getWidth(),r1.getHeight(),r1.getArea(),r1.getPerimeter()); printf("r2的宽=%d;高=%d;面积=%d;周长=%d\n",r2.getWidth(),r2.getHeight(),r2.getArea(),r2.getPerimeter()); // printf("友元函数测试:\n"); Rectangle r3(4,5); print_Rectangle(&r3); //getchar(); //getchar(); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 eclipse运行项目时遇到的问题
- ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
- ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
- ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
- ¥50 成都蓉城足球俱乐部小程序抢票
- ¥15 yolov7训练自己的数据集
- ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
- ¥15 电力市场出清matlab yalmip kkt 双层优化问题
- ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
- ¥20 matlab yalmip kkt 双层优化问题