如何從父類中的函數調用類中的重載關係運算符,該父類將常量引用作爲參數傳遞給基類?下面的代碼演示我想該怎麼做:如何從父類中引用父類的函數作爲參數調用子類的重載運算符?
class Object
{
public:
virtual ~Object(void);
virtual int compare(Object const& obj) const;
};
int Object::compare(Object const & obj) const {
if(this == &obj)
{
return 0;
}
else if(this < &obj)
{
return -1;
} else{
return 1;
}
}
class Integer: public Object
{
private:
int myInt;
public:
Integer(int i);
bool operator==(const Integer& integer);
};
bool Integer::operator==(Integer const &integer) {
if(myInt == integer.myInt)
{
return true;
}
return false;
}
我如何在基類的比較函數來調用子類==操作符,牢記我有其他的子類,以及?
我試過dynamic_cast <>但由於某種原因,它不會工作。
注意你只是比較地址不是對象在基類中。 – xinaiz