是否操作員,當我超載了,失去其操作能力類型它是爲之前定義的,還是新的定義,只有當我打電話在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