关于C++的类组合问题,请高手指教

来源:百度知道 编辑:UC知道 时间:2024/09/24 03:43:22
我是刚刚才学C++的新手,遇到一个问题关于类组合的,在按书中的程序运行后,得到了结果,但是不知道结果第六行和第八行为什么会顺序颠倒呢,请高手指教一下,谢谢!
#include <iostream.h>
class Point
{
private:
int x,y;
public:
Point(int xx=0,int yy=0);
Point(Point &p);
int getX();
int getY();
};
inline Point::Point(int xx,int yy)
{
x=xx;
y=yy;
cout<<"Point1构造函数"<<endl;
cout<<xx<<','<<yy<<endl;
}
inline Point::Point(Point &p)
{
x=p.x;
y=p.y;
cout<<"Point2拷贝构造函数"<<endl;
cout<<p.x<<','<<p.y<<endl;
}
inline Point::getX()
{
return (x);
}
inline Point::getY()
{
return (y);
}
class line
{
private:
Point p1,p2;
double len;
public:
line(Point px1,Point py2);
line(line &l);
double getlen();
};
inline line::line(Point px1,Point py

运行完:4,5 //请解释这行调用拷贝函数后为什么不是1,1
Point2拷贝构造函数
1,1 //请解释这行调用拷贝函数后为什么不是4,5
x,y里面有都是1,1
运行到p1(px1),p2(py2) 调用拷贝构造函数把1,1给了 p1(px1)
\\c++选择最批判的给

参数执行顺序而已,不一定是从左到右的
部分编译器也会从右到左

你的代码似乎不符合你的输出,而且不可能是你给出的代码输出的,哪来的Point,Point2, 5等等!!

请给出完整个原始代码