![]() |
1
11
您刚刚调用复制构造函数的代码,定义如下:
你应该看到这样的输出:
如果要调用默认构造函数,然后调用赋值运算符,则必须使用两个单独的语句:
|
![]() |
2
15
这是 一 复制构造函数 不是分配运算符!您可以这样重新定义它,您拥有的是编译器生成的:
如果您真的坚持不使用复制构造函数,那么您可以向类中添加转换运算符,而忽略复制构造函数!
|
![]() |
3
0
看看你修改过的代码
程序的输出是
现在让我们解释一下为什么 在3种情况下调用复制构造函数 1.初始化中的对象时 2.将对象作为参数传递给函数时 3.从函数返回对象时。 如果不指定自己的复制构造函数,编译器将实现自己的复制构造函数,该构造函数逐位复制对象。您没有指定自己的复制构造函数,因此无法跟踪从代码创建的两个对象。 谢谢 |
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |