C++学习记录-面向对象-拷贝构造函数
C++学习记录-面向对象-拷贝构造函数
拷贝构造函数
拷贝构造函数是构造函数的一种,它传入的参数是一个类
示例:
1 | class chara { |
可以看到拷贝构造函数有以下几点要求:
- 传入的参数是一个类
- 必须是引用传递
- 必须以 const 修饰
拷贝构造函数可以将传入的类赋值给自己的类,相当于复制了一个类 //安度因表示很赞
调用示例:
1 | int main() |
运行结果:
神里绫华
神里绫华
D:\Work\C艹练习\练手\Project1\Debug\Project1.exe (进程 4200)已退出,代码为 0。
要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
按任意键关闭此窗口. . .
注意事项:
不要用拷贝构造函数来初始化一个匿名对象
匿名对象:只传入构造函数的参数而不声明对象名字
例:
1 | chara();//这创建了一个匿名对象 |
如果利用拷贝构造函数来初始化一个匿名对象:
1 | chara p1; |
程序会报错:
1>D:\Work\C艹练习\练手\Project1\Project1\源.cpp(27,11): error C2086: “chara p1”: 重定义
编译器会认为又声明了一个叫p1的对象,而上方已经声明了p1这个对象
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 星辰微光的博客!





