C++--复制构造函数

测试代码

#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;
}

测试结果

在这里插入图片描述

发布了218 篇原创文章 · 获赞 523 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/weixin_44225182/article/details/105372165