调用拷贝构造函数有哪几种情况
1个回答
展开全部
共有两种情况:第一种用已有对象初始化新建对象;第二种函数调用时参数是对象。
例如:
源码:
#include <iostream>
class A
{
public:
A()
{
printf("in creat!\n");
}
A(const A &a1)
{
printf("in copy!\n");
}
void func();
};
void fun(A a2){}
int main()
{
A a1;
A a2 = a1;
fun(a2);
}
运行结果:
in creat!
in copy!
in copy!
例如:
源码:
#include <iostream>
class A
{
public:
A()
{
printf("in creat!\n");
}
A(const A &a1)
{
printf("in copy!\n");
}
void func();
};
void fun(A a2){}
int main()
{
A a1;
A a2 = a1;
fun(a2);
}
运行结果:
in creat!
in copy!
in copy!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询