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;}
我感觉都差不多,但是我的却不能运行,求大神指导下,我到底错在哪,该怎么改正。
悬赏分不够了,请见谅 。 展开
/*定义一个矩形类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;}
我感觉都差不多,但是我的却不能运行,求大神指导下,我到底错在哪,该怎么改正。
悬赏分不够了,请见谅 。 展开
展开全部
按照你的代码,我简单修改了一下:
#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;
展开全部
你写的类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(){};
};
{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(){};
};
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询