如果类具有const成员变量和引用成员变量,那么类的复制赋值运算符的定义是什么 例如:
class ABC
{
int const i;
int & j;
int k;
public :
ABC() :k(40), i(10),j(k)
{}
};
答案 0 :(得分:1)
Const对象和引用是不可分配的。因此,具有此类成员的类将不具有隐式赋值运算符。可以定义自定义赋值运算符,但不能修改这些成员。
如果您希望您的类具有复制赋值,该引用使引用引用与参数对象引用的相同对象,则您根本无法使用引用。
如果您希望您的类具有使const成员具有与参数对象相同的值的复制赋值,那么您根本无法使用const成员。
对于const我们可以在const_cast
的帮助下完成
修改const对象(在const_cast
的帮助下)有未定义的行为。