C++问题:设计一个名为Rectangle的矩形类,其属性为矩形的左下角和右上角两个点的坐标,能计算矩形的面积

利用组合类,能运行的话会追加分~... 利用组合类,能运行的话会追加分~ 展开
 我来答
waltty
推荐于2018-04-17 · TA获得超过328个赞
知道小有建树答主
回答量:115
采纳率:0%
帮助的人:168万
展开全部
给你两种 写法
第一种:
#include <iostream.h>
#include <math.h>

class Rectangle
{
public:
Rectangle(int left,int bottom,int right,int top);
~Rectangle(){ }
//int GetLeft() {return itsLeft;}
int GetBottom() {return itsBottom;}
int GetRight() {return itsRight;}
int GetTop() { return itsTop;}

void SetLeft(int left) {itsLeft=left;}
void SetBottom(int bottom) {itsBottom=bottom;}
void SetRight(int right) {itsRight=right;}
void SetTop(int top) {itsTop=top;}

int GetArea();
private:
int itsLeft;
int itsBottom;
int itsRight;
int itsTop;
int Width;
int Height;
};
Rectangle::Rectangle(int left,int bottom,int right,int top)
{
itsLeft=left;
itsBottom=bottom;
itsRight=right;
itsTop=top;
}

int Rectangle::GetArea()
{
Width=abs(itsRight-itsLeft);
Height=abs(itsTop-itsBottom);
cout<<誉拍唤"该庆凯矩贺激形的长:"<<Width<<endl;
cout<<"该矩形的宽:"<<Height<<endl;
return (Width*Height);
}

void main()
{
Rectangle MyRectangle(20,20,60,50);
int Area;
Area=MyRectangle.GetArea();
cout<<"Area:"<<Area<<endl;
MyRectangle.SetLeft(10);
Area=MyRectangle.GetArea();
cout<<"Area:"<<Area<<endl;
}

第二种 :
#include<iostream.h>
#include<math.h>
class Rectangle
{
private:
int left;
int bottom;
int right;
int top;
public:
void SetPoint(int l,int b,int r,int t)
{
left=l;
bottom=b;
right=r;
top=t;
}
void cal(int left,int bottom,int right,int top)
{
int s;
s=abs(left-right)*abs(bottom-top);
cout<<"该长方形的面积为:"<<s<<endl;
}
void Getp1(int left,int bottom)
{
cout<<"长方形的左下角坐标是:"<<left<<","<<bottom<<endl;
}
void Getp2(int right,int top)
{
cout<<"长方形的右上角坐标是:"<<right<<","<<top<<endl;
}
};

void main()
{
Rectangle r1;
int l,b,r,t;
cout<<"请输入长方形的左下角的坐标:";
cin>>l>>b;
cout<<"请输入长方形的右上角的坐标:";
cin>>r>>t;
r1.Getp1(l,b);
r1.Getp2(r,t);
r1.cal(l,b,r,t);
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式