对C++;运算符重载 在C++中,我对类的定义理解不到,尤其是运算符和**,我对这些有点困惑。(我是C++初学者) SKNode& operator=(const SKNode*& node) { key = node->key; for (int i = 0; i < MAXLEVEL; i++) { forward[i] = node->forward[i]; } return *this; } SKNode&operator=(常量SKNode*&node) { 键=节点->键; 对于(int i=0;i转发[i]; } 归还*这个; }
此重载的赋值运算符将指定的节点分配给对象本身。对C++;运算符重载 在C++中,我对类的定义理解不到,尤其是运算符和**,我对这些有点困惑。(我是C++初学者) SKNode& operator=(const SKNode*& node) { key = node->key; for (int i = 0; i < MAXLEVEL; i++) { forward[i] = node->forward[i]; } return *this; } SKNode&operator=(常量SKNode*&node) { 键=节点->键; 对于(int i=0;i转发[i]; } 归还*这个; },c++,C++,此重载的赋值运算符将指定的节点分配给对象本身。 例如,在实施时: A a1; A a2; A a3; a1 = a2; 最后一条语句调用实例a1的操作符,实际上将a2的内容复制到a1中 操作员返回*此。换句话说,是对自身的引用。 通过这种方式,您可以使用以下构造: a1 = a2 = a3; 这将首先调用实例a2上的重载运算符,将a3分配给a2,然后调用a1的重载运算符,将a2分配给a1“我很困惑”不是一个特定的问题。对不起,请问一个特定的问题。
例如,在实施时:
A a1;
A a2;
A a3;
a1 = a2;
最后一条语句调用实例a1
的操作符,实际上将a2
的内容复制到a1
中
操作员返回*此
。换句话说,是对自身的引用。通过这种方式,您可以使用以下构造:
a1 = a2 = a3;
这将首先调用实例a2
上的重载运算符,将a3
分配给a2
,然后调用a1
的重载运算符,将a2
分配给a1“我很困惑”不是一个特定的问题。对不起,请问一个特定的问题。