是否操作员,当我超载了,失去其操作能力类型它是为之前定义的,还是新的定义,只有当我打电话在C++中,运算符重载后,运算符是否会失去旧功能?
cout << that_specific_class_type_variable
如果我写cout << that_specific_class_type_variabe->Left()
将它重载函数应用或正常的cout声明?
ostream& operator<< (ostream& out, TreeNode* tptr)
{
if(tptr!=NULL)
{
operator<<(out,tptr->Left());
out<<(*(tptr->Entry()));
operator<<(out,t->Right());
}
return out;
}
如果我想正常cout该类的成员变量。我会简单地写出正常的cout函数吗? – user1722022
它取决于您将其应用于的数据类型。我猜'Left'和'Right'也是'TreeNode *',在这种情况下,它会递归地应用你的'operator <<'。但是'Entry()'可能会返回一个不同的数据类型,在这种情况下,标准的'operator <<'将应用于它。 – jogojapan
好吧,现在我非常感谢 – user1722022