中易网

C/C++类和对象变成问题

答案:2  悬赏:0  
解决时间 2021-05-13 14:29

设计一个矩形类(Rect),具有长宽属性,类还具有求解并显示矩形的周长和面积的功能以及求两个矩形面积和的功能。(实现该功能时要求用对象做参数和返回值。)RT下面是我编的代码出现如下错误:

请指出并帮忙修改谢谢。代码如下:

#include "iostream.h"
#include"math.h"
class Rect
{
private:
 double x,y,c,s;
public:
 Rect(double x1,double y1)
 {
  x=x1;y=y1;
 }
 Rect(Rect &p)
 {
  x=p.x;y=p.y;
 }
 double length()
 {
  return(x+y);
 }
 double area()
 {
  return x*y;
 }
 
 void print()
 {
  cout<<"周长:"<<length()<<endl;
  cout<<"面积:"<<area()<<endl;
 }
Rect count(Rect p1,Rect p2)
 {
  return (p1.area()+p2.area());
 }
}
void main()

{
 Rect p1(3,4),p2(5,6),p;
 p1.print();
 p2.print();
 p=count(p1,p2);
 Rect p3(p);
 p3.print();
}

最佳答案

改了下代码如下:


#include "iostream.h"
#include"math.h"
class Rect
{
private:
 double x,y,c,s;
public:
 Rect(){}
 Rect(double x1,double y1)
 {
  x=x1;y=y1;
 }
 Rect(Rect &p)
 {
  x=p.x;y=p.y;
 }
 double length()
 {
  return(x+y);
 }
 double area()
 {
  return x*y;
 }
 
 void print()
 {
  cout<<"周长:"<<length()<<endl;
  cout<<"面积:"<<area()<<endl;
 }
 void count(Rect p1,Rect p2)
 {
  cout<<"两个矩形的面积为:"<<(p1.area()+p2.area())<<endl;
 }
};
void main()
{
 Rect p1(3,4),p2(5,6),p;
 p1.print();
 p2.print();
 p.count(p1,p2);
}

全部回答

1. class Rect 定义的最后添加一个 ;

2. 为Rect添加一个无参数的默认构造函数,或者改造现有的的构造函数使用默认参数。

 Rect(double x1=0.0, double y1=0.0) {   x=x1; y=y1; }

3. 将 count 函数写成全局的(放在class Rect定义的外面),调用方法不变。

或者作为Rect的类方法(函数定义的前面加一个static),调用的时候用 Rect::count(p1, p2);

4. 可以忽略。

我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
什么叫一生的承诺
反恐精英那个人物好
时尚先锋发艺怎么去啊,有知道地址的么
东莞长安哪有工资高一点包吃住的电子厂啊?
鸿馥酒楼在哪里啊,我有事要去这个地方
仓鼠可是吃生花生多了好不好?
咖啡色套裙被染上了黑色,怎么才能除掉黑色?
用手机下载的游戏在哪儿可以玩?
陕西信合三原县农村信用合作联社秦原信用社怎
当你女朋友和别的男人,老过她三十年的,还睡
海华数码(银河湾电脑城店)地址在哪,我要去那
这个手机问问怎么玩啊?哪位朋友给我说一下
由于小时候挑水让脖子上脊柱末端好像变形了,
一班有42人,参加美术组的25人,参加科技组的
电脑启动,键盘亮,鼠标亮,显示器灯黄,主机
推荐资讯
长汀宾馆地址有知道的么?有点事想过去
牛寨岭村地址有知道的么?有点事想过去
最近没感觉身体不适,这两天突然发现脚腕虚种
莱西市北京路小学怎么去啊,有知道地址的么
洪泽纺织机械地址在什么地方,想过去办事
现在超舞里面最高等级是多少,还有就是现在那
那位动漫迷,能告知我《棋魂》到底有没有第二
最热门的话题?
大陆哪个男明星的歌最多?
什么东西能刺激人的神经?
问个概率问题!
运城哪里有卖鸭肠
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?