读书人

请问一个C++有关问题,敢请高手指导

发布时间: 2012-03-14 12:01:12 作者: rapoo

请教一个C++问题,敢请高手指导
#include <iostream>
using namespace std;
class Point
{
public:
Point(int xx=0,int yy=0){x=xx;y=yy;}
Point(point &p);
int getx(){return x;}
int gety(){return y;}
private:
int x,y;
};
Point::Point(point &p)
{x=p.x ;y=p.y;cout < < "调用拷贝构造函数 " < <endl;}
void fun1(Point p)
{cout < <p.getx() < <endl;}
Point fun2()
{ Point A(1,2);
return A;}
int main()
{ Point(4,5);
Point B(A);
cout < <B.getx() < <endl;
fun1(B);
B=fun2();
cout < <B.getx() < <endl;
}
这段程序有错吗?为何提示A为定义呢?


[解决办法]
你哪个A是在子函数内部的临时变量,当函数执行完后, 临时变量就消亡了,你再使用他,当然就没有了

[解决办法]
Point(4,5);

这写的是啥?

改成

Point A(4,5);

读书人网 >C++

热点推荐