同一类中的一个对象如何分配给C++中同一类的另一个对象?

问题描述:

我知道我们可以直接在C++中分配相同的类对象,但是幕后实际发生了什么?同一类中的一个对象如何分配给C++中同一类的另一个对象?

+0

调用类“operator =”?例如'a = b'(其中'a'是一个对象),那么'a.operator =(b)'将被调用。 –

有一种叫做“默认copy-constructor”和“默认assignment-operator”。除非在类中重载这些方法,否则默认行为是将类的所有非静态成员从源代码​​逐一复制到目标类。

更多一点:这包括指针,顺便说一句。这就是为什么你通常应该重载这些运营商,并遵循rule of three,如果你有指针作为成员。