A.计算矩形面积 | |||||
|
|||||
Description | |||||
已知有点类Point定义。定义一个矩形类,说明如下: 包含四个属性:左下角,右上角两个点,面积,周长。面积,周长由左下角,右上角两个点决定;成员函数有(1)构造函数及复制构造函数(2)计算矩形的面积(3)计算周长
|
|||||
Input | |||||
有多组数据。每组数据包含四个数据x1,y1,x2,y2,分别表示矩形的左下角横纵坐标和右上角横纵坐标。 |
|||||
Output | |||||
矩形的面积和周长 |
|||||
Sample Input | |||||
-1 -1 2 3 -5 -6 0 -1
|
|||||
Sample Output | |||||
12 14 25 20
|
|||||
Hint | |||||
知识点:类的组合 |
#include<iostream>
using namespace std;
class point
{
private:
int x,y;
public:
point(int xx=0,int yy=0):x(xx),y(yy){}
point (point &p);
int getx(){return x;}
int gety(){return y;}
};
point::point(point &p)
{
x=p.x;
y=p.y;
}
class rectangle
{
private:
point p1,p2;
int Ss,Cs;
public:
rectangle(point np1,point np2);
rectangle(rectangle &L);//此处只能申明一个复制构造函数 如果遇到同时求面积和周长两个量时 可在一个构造函数中进行处理
int getCs(){return Cs;}
int getSs(){return Ss;}
};
rectangle::rectangle(point np1,point np2):p1(np1),p2(np2)
{
int x=p1.getx()-p2.getx();
int y=p1.gety()-p2.gety();
Cs=x+x+y+y;
Ss=x*y;
}
rectangle::rectangle(rectangle &L):p1(L.p1),p2(L.p2)
{
Cs=L.Cs;
Ss=L.Ss;
}
int main()
{
int x1,y1,x2,y2;
while(cin>>x1>>y1>>x2>>y2)
{
point newp1(x1,y1),newp2(x2,y2);
rectangle Rectangle(newp1,newp2);
cout<<-Rectangle.getCs();
cout<<Rectangle.getSs()<<endl;此处只能由对象进行处理 用类处理是不对的
}
return 0;
}