樱花流逝
为什么用不同的软件输出结果会不同?

总之问题是这样的[mw_shl_code=applescript,true]#include *本站禁止HTML标签噢*

using namespace std;

class point{

private:

int x, y;

public:

point(int a = 0, int b = 0){

x = a;

y = b;

}

point(point &p);

int getx(){

return x;

}

int gety(){

return y;

}

};

point::point(point &p){

x = p.x + 10;[mw_shl_code=applescript,true]point::point(point &p){

x = p.x + 10;

y = p.y + 20;

cout << "调用拷贝构造函数" << endl;

}

y = p.y + 20;

cout << "调用拷贝构造函数" << endl;

}

void f(point &p){

cout << p.getx() << " " << p.gety() << endl;

}

point g(){

point q(3, 5);

return q;

}

int main()

{

point p1(2, 4);

point p2(p1);

cout << p2.getx() << " " << p2.gety() << endl;

f(p2);

p2 = g();

cout << p2.getx() << " " << p2.gety() << endl;

system("pause");

return 0;

}

[/mw_shl_code]

用cb编译运行的得到的结果是这样的

而用vs2013编译得到的结果是这样的

虽然乱码也是问题。。。

但主要是为什么使用vs2013时在执行[mw_shl_code=applescript,true]p2 = g();[/mw_shl_code]时调用了

[mw_shl_code=applescript,true]point::point(point &p){

x = p.x + 10;

y = p.y + 20;

cout << "调用拷贝构造函数" << endl;

}[/mw_shl_code]

而cb没有这一步?

樱花流逝
展开Biu

为什么开头的那个只有一半变成了代码的格式@@26!!

[查看全文]