C++中复制构造函数有关的一点问题
来源:互联网 发布:汽车油漆调色软件下载 编辑:程序博客网 时间:2024/05/18 09:42
当一个函数的返回值是类对象时,如果要把这个函数的返回值复制一个新对象,那么从程序运行结果看,复制构造函数要调用2次。
#include <iostream>
using namespace std;
class A
{
private:
int a;
int b;
public:
A(int a = 1, int b = 2) : a(a), b(b){}
void SetA(int a)
{
this->a = a;
}
int GetA()
{
return this->a;
}
void SetB(int b)
{
this->b = b;
}
int GetB()
{
return this->b;
}
//复制构造函数
A(const A &C)
{
this->a = C.a + 1;
this->b = C.b + 2;
}
};
A Copy()
{
A example(1,2);
return example;//单步执行时看到这里返回之前要将example复制给一个临时对象temp 第一次
}
int main()
{
A a4(Copy()); //这里把临时对象复制给a4的时候又一次调用复制构造函数 第二次
cout<<a4.GetA()<<" "<<a4.GetB()<<endl; //输出 3 6 // 1+1+1, 2+2+2
return 0;
}
- C++中复制构造函数有关的一点问题
- \t\tC++中复制构造函数有关的一点问题
- 一点关于复制构造函数的问题
- 有关复制构造函数的改错
- 有关子类构造函数的问题
- C++: 复制构造函数
- 复制构造函数和operator=的一点注意事项
- 复制构造函数问题
- C++:复制构造函数的应用
- 复制构造函数应该注意的问题
- C++复制构造函数的问题
- 复制构造函数可能出现的问题
- 有关c中输入函数问题的解析
- C语言中有关外部函数调用的问题
- C++中类的构造函数与复制构造函数
- C++ 中类的复制构造函数
- C++中类的复制构造函数
- 构造函数复制构造函数经典问题
- \t\tC++文件读取(含空格和回车) --转载
- C++中字符数组 (转载)
- \t\tC++中字符数组 (转载)
- 动态数组的C++实现(转)
- \t\t动态数组的C++实现(转)
- C++中复制构造函数有关的一点问题
- \t\tC++中复制构造函数有关的一点问题
- \t\tVC中几种画线的方法
- \t\tMSDN for VC6.0 下载地址
- \t\t孙鑫 第五课 文本编程笔记
- \t\t孙鑫 第六课 菜单编程笔记
- \t\t孙鑫VC视频笔记(全本)---转载 感谢作者(原文地址以及作者联系方式见文章顶部)
- \t\t孙鑫 第七课 对话框编程笔记
- \t\t谭浩强 C++ 学习笔记