测试代码
#include<iostream>
using namespace std;
class point{
public:
point(double a,double b);
~point();
point(point &p);
void fun1(point p);
point fun2();
double getx()
{
return x;
}
private:
double x;
double y;
};
point::point(double a,double b)
{
x=a;
y=b;
cout<<"constructing"<<endl;
}
void fun1(point p)
{
cout<<p.getx()<<endl;
}
point fun2()
{
point a(1,2);
return a;
}
point::point(point &p)
{
x=p.x;
y=p.y;
cout<<"copy"<<endl;
}
point::~point()
{
cout<<"destroying"<<endl;
}
int main()
{
point a(4,5);
point b=a;
cout<<b.getx()<<endl;
fun1(b);
return 0;
}
测试结果