我意识到这可能是一个过于本地化的问题,但我是新手,如果我做错了什么,这可能会帮助其他人。
对于一个项目,我们正在创建一个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 ==