C++中运用类求一个矩形的面积和周长

题目是这样的:/*定义一个矩形类Rectangle,包含:保护数据成员:doubleLength;//矩形的长doubleWidth;//矩形的宽公有成员函数:doubl... 题目是这样的:
/*定义一个矩形类Rectangle,包含:保护数据成员:double Length;//矩形的长double Width;//矩形的宽公有成员函数:double Area();//计算矩形的面积 double Perim();//计算矩形的周长 void Show();//显示输出矩形的面积和周长基本要求:必须设计构造函数和析构函数;编制应用程序,创建矩形对象,求解矩形的面积和周长,并且显示输出*/
这是我做的:
#include<iostream>
using namespace std;
class Rectangle {
private:
double Len;
double Wid;
public:
void setrect (double Length, double Width)
{Len=Length; Wid=Width; }
double Area() { return Len*Wid;}
double Perim() { return 2*(Len+Wid);}
~Rectangle(){};
};
void main()
{ Rectangle a(Len,Wid);
cin>>"面积是:">>a.Area()>>endl; cout>>"周长是:">>a.Perim()>>endl;
}

这是我同学做的:
/*#include<iostream>
using namespace std;
class Rectangle{private:float length;float width;public:
Rectangle(float len,float wid){length=len;width=wid; }
~Rectangle(){};float GetArea(){return length*width;}
float GetPerim(){return 2*length+2*width;}
float GetLength(){return length;}
float GetWidth(){return width;}
};
void main()
{ float length,width;cout<<"请输入矩形长度:";cin>>length;cout<<"请输入矩形宽度:";cin>>width;Rectangle r(length,width);
cout<<"长为"<<length<<"宽为"<<width<<"矩形的周长为"<<r.GetPerim()<<"矩形的面积为"<<r.GetArea()<<endl;}
我感觉都差不多,但是我的却不能运行,求大神指导下,我到底错在哪,该怎么改正。
悬赏分不够了,请见谅 。
展开
 我来答
573846297
推荐于2017-09-28
知道答主
回答量:16
采纳率:0%
帮助的人:20.6万
展开全部

按照你的代码,我简单修改了一下:

#include<iostream>
using namespace std;
class Rectangle 
{
 public:  
   Rectangle(double Length, double Width)
  {Len=Length;   Wid=Width;  }  
   double Area()   { return Len*Wid;}  
   double Perim()   { return 2*(Len+Wid);} 
   void show(){cout<<"面积是:"<<Area()<<",周长是:"<<Perim()<<endl;}       
 ~Rectangle(){};
 private:  
   double Len; 
   double Wid;
};

int main()
{
    double Len=12.0,Wid=8.0;
    Rectangle rec(Len,Wid);
    rec.show();
    system("pause");
    return 0;
}
追问
- - 那我到底错在哪呢?
追答
问题在于你没有写构造函数,构造函数与类要同名,而且没有返回值。
首先你需要像你的同学那样,写一个输入长和宽的代码:
float length,width;cout>length;cout>width;Rectangle a(length,width);
还有你这段代码写的也有问题:
cin>>"面积是:">>a.Area()>>endl; cout>>"周长是:">>a.Perim()>>endl;

从你表达的意思来看,你应该是输出面积和周长的,但是你用的是cin,cin是什么,cin是输入的,不是输出,正确应该是:
cout<<"面积是:"<<a.Area()<<endl; cout<<"周长是:"<<a.Perim()<<endl;
雅马哈727
2013-10-20
知道答主
回答量:12
采纳率:0%
帮助的人:11.4万
展开全部
你写的类class Rectangle 中的构造函数必须与类名,即Rectangle相同,构造函数为 void Rectangle (double Length, double Width)
{Len=Length; Wid=Width; }

在类中为class Rectangle {
private:
double Len;
double Wid;
public:
void Rectangle (double Length, double Width)
{Len=Length; Wid=Width; }
double Area() { return Len*Wid;}
double Perim() { return 2*(Len+Wid);}
~Rectangle(){};
};
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式