我意識到這可能是一個太侷限的問題,但我是指針的新手,如果我做錯了什麼,這可能會幫助別人。方法返回相同的指針地址?
對於一個項目,我們正在創建一個OrdListClass
,它源於我的教授創建的ListClass
對象。 ListClass
是一個目標文件,所以我沒有它的來源。
到目前爲止,我一直在做這個項目,但是我在處理Operator==
時遇到了這個問題。
我用myList == yourList
給運營商打電話。
我的邏輯是使用他在ListClass
中爲GetListPtr()
提供的方法,用於當前應用對象和我們正在比較它的對象rtOp
。
但是,使用
ItemType* currPosPtr = GetListPtr(); //this class' List Pointer
和
ItemType* rtOpPosPtr = rtOp.GetListPtr(); //rtOp object's list pointer
他們返回相同的指針地址是什麼時候?
我不確定這是我的錯,還是可能是我給出的對象文件中的錯誤。
bool OrdListClass::operator== (const OrdListClass& rtOp) const
{
ItemType* currPosPtr = GetListPtr(); //this class' List Pointer
ItemType* rtOpPosPtr = rtOp.GetListPtr(); //rtOp object's list pointer
if (GetLength() == rtOp.GetLength()){ //If the lengths are equal
/*** DO KEY COMPARISONS HERE ***/
}else{ //Lengths are unequal
return false; //List can't contain the same items
}//End lengths if
return true; //All items were compared, all keys match
}//End Operator ==
我們可以看到創建兩個對象並檢查相等性的代碼嗎? – JBentley 2013-03-15 21:20:16