[c++]代码库
#include <iostream>
using namespace std;
class rectangle
{
public:
class point
{
public:
void setx ( int x ) {itsx=x;}
void sety ( int y ) {itsy=y;}
int getx() const {return itsx;}
int gety() const {return itsy;}
private:
int itsx;
int itsy;
};
point GetUpLeft() const {return upleft;}
point GetLowLeft() const {return lowerleft;}
point GetUpRight() const {return upright;}
point GetLowRight() const {return lowerright;}
rectangle ( int top,int left,int bottom,int right );
~rectangle() {}
int GetTop() const {return Top;}
int GetLeft() const {return Left;}
int GetBottom() const {return Bottom;}
int GetRight() const {return Right;}
void SetUpLeft() {upleft.setx ( Left ); upleft.sety ( Top );}
void SetLowLeft() {lowerleft.setx ( Left ); lowerleft.sety ( Bottom );}
void SetUpRight() {upright.setx ( Right ); upright.sety ( Top );}
void SetLowRight() {lowerright.setx ( Right ); lowerright.sety ( Bottom );}
void SetTop ( int top ) {Top=top;}
void SetLeft ( int left ) {Left=left;}
void SetRight ( int right ) {Right=right;}
void SetBottom ( int bottom ) {Bottom=bottom;}
int GetArear() const {int width=Right-Left; int height=Bottom-Top; return ( width*height );}
private:
point upleft;
point lowerleft;
point upright;
point lowerright;
int Top;
int Left;
int Bottom;
int Right;
};
rectangle::rectangle ( int top,int left,int bottom,int right )
{
Top=top;
Left=left;
Bottom=bottom;
Right=right;
upleft.setx ( Left );
upleft.sety ( Top );
upright.setx ( Right );
upright.sety ( Top );
lowerright.setx ( Right );
lowerright.sety ( Bottom );
lowerleft.setx ( Left );
lowerleft.sety ( Bottom );
}
class point
{
public:
int GetArear ( rectangle &rec ) {return rec.GetArear();}
};
int main()
{
rectangle date ( 40,50,60,80 );
cout<<"左边为:"<<date.GetLeft() <<endl;
cout<<"下边为:"<<date.GetBottom() <<endl;
cout<<"左下的X坐标为:"<<date.GetLowLeft().getx() <<endl;
cout<<"左下的y坐标为:"<<date.GetLowLeft().gety() <<endl;
cout<<"矩形面积为:"<<date.GetArear() <<endl;
cout<<"重新设置Left和Bottom值"<<endl;
date.SetLeft ( 0 );
date.SetBottom ( 100 );
date.SetLowLeft();
cout<<"左边为:"<<date.GetLeft() <<endl;
cout<<"下边为:"<<date.GetBottom() <<endl;
cout<<"左下的X坐标为:"<<date.GetLowLeft().getx() <<endl;
cout<<"左下的y坐标为:"<<date.GetLowLeft().gety() <<endl;
point pt;
cout<<"矩形面积为:"<<pt.GetArear ( date ) <<endl;
system ( "pause" );
}