C++一个类的私有成员是另一个类 对象怎么解决

一个长方形类。属性是 对角线上的两个点。
点又是类。
怎么实现?
#include<iostream.h>
#include<math.h>
class point
{
public:
point(int a,int b){
x=a;
y=b;
}
~point(){};
int getX(){return x;}
int getY(){return y;}
private:
int x;
int y;
};
class Rectangle
{
public:
Rectangle(x1,y1,x2,y2):p1(int x1,int y1),p2(int x2,int y2)
{
p1(x1,y1);
p2(x2,y2);
}
~Rectangle(){};
int getdx(){return abs(p1.getX()-p2.getX())};
int getdy(){return abs(p1.getY()-p2.getY())};
private:
point p1;
point p2;
};
int area(Rectangle r)
{
return (r.getdx())*(r.getdy());
}
int main()
{
int a,b,c,d;
cin>>a>>b>>c>>d;
point p1(a,b),p2(c,d);
Rectangle r(p1,p2);
area(r);
cout<<area<<endl;
return 0;
}

过不了编译怎么改。好像格式有问题。

第1个回答  推荐于2016-10-25
Rectangle(x1,y1,x2,y2):p1(int x1,int y1),p2(int x2,int y2)
{
p1(x1,y1);
p2(x2,y2);
}
改成
Rectangle( int x1,int y1,int x2,int y2):p1( x1, y1 ), p2( x2, y2 ) {
}本回答被提问者采纳
相似回答