同一类的一个对象如何在 c++ 中分配给同一类的另一个对象? [关闭]
Posted
技术标签:
【中文标题】同一类的一个对象如何在 c++ 中分配给同一类的另一个对象? [关闭]【英文标题】:How one object of same class assign to the other object of the same class in c++? [closed] 【发布时间】:2018-01-04 04:33:07 【问题描述】:我知道我们可以在 C++ 中直接分配相同的类对象,但幕后究竟发生了什么?
【问题讨论】:
类'operator=
被调用了?例如,a = b
(其中a
是一个对象)则将调用a.operator=(b)
。
【参考方案1】:
有一种叫做“默认copy-constructor”和“默认assignment-operator”的东西。除非您在类中重载这些方法,否则默认行为是将类的所有非静态成员从源类一一复制到目标类。
多一点:这包括指针,顺便说一句。这就是为什么您通常应该重载这些运算符并遵循 rule of three 如果您有指针作为成员。
【讨论】:
以上是关于同一类的一个对象如何在 c++ 中分配给同一类的另一个对象? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何创建一个可以操作同一类的多个对象的函数,访问 C++ 中的私有属性?