m0_56922190 2021-05-26 14:16 采纳率: 100%
浏览 53
已采纳

求c++代码大佬来看看

设计一个 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;
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 高价求中通快递查询接口
  • ¥15 解决一个加好友限制问题 或者有好的方案
  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?