复制构造函数的调用

本文通过一个C++示例程序展示了构造函数和复制构造函数的调用过程及次数。程序中定义了一个CA类,含有构造函数和复制构造函数,并通过函数返回值的方式触发复制构造函数的调用。

以下例子构造函数将被调用一次,复制构造函数将被调用四次。

 

#include "iostream"

 

using namespace std;
class CA
{
public:
 CA(){ cout<< "construct be called." << endl;}
 CA(CA& ra){ cout << "copy construct be called. "<< endl;}

};

CA fun(CA a)
{
 CA na(a);

 return na;
}


int main(int argc, char* argv[])
{

 CA fa;
 
 CA fb = fun(fa);

 

 return 0;
}

 

输出结果:

 

construct be called

copy construct be called

copy construct be called

copy construct be called

copy construct be called

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值