拷贝构造函数调用时机3

传智扫地僧课程学习笔记。

 

#include <iostream>
using namespace std;


class Location 
{ 
public:
	Location( int xx = 0 , int yy = 0 ) 
	{ 
		X = xx ;  Y = yy ;  cout << "Constructor Object.\n" ; 
	}

	//copy构造函数  完成对象的初始化
	Location(const Location & obj) //copy构造函数 
	{
		X = obj.X; Y = obj.Y;
	}
	~Location() 
	{ 
		cout << X << "," << Y << " Object destroyed." << endl ; 
	}
	int  GetX () { return X ; }		int GetY () { return Y ; }
private :   int  X , Y ;
} ;


//业务函数  形参是一个元素
void f(Location p)
{
	cout<<p.GetX()<<endl;
}

void playobj()
{
	Location  a(1, 2);
	Location  b = a;
	cout<<"b对象已经初始化完毕"<<endl;

	f(b); //b实参取初始化形参p,会调用copy构造函数
}

void main51()
{
	playobj();
	cout<<"hello..."<<endl;
	system("pause");
	return ;
}

重点在f(b);

这里会调用拷贝构造函数,
不知道为什么,总感觉,少点什么,有点疲,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值