C++ how to call parent's friend function?
有一个基类和一个派生类。派生公共继承基。基类实现了友元函数bool operator==(const base&lhs,const base&rhs)const;我正在实现派生类,它还需要实现bool operator==(const-derive&lhs,const-derive&rhs)const;现在我的问题是我不知道如何在我的operator==函数中调用父级的operator==函数。对于基类,operator==不属于base,因此我不能简单地使用base::operator==。谢谢您。
将引用绑定到
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | class Base { /*...*/ }; bool operator==(const Base&, const Base&); class Derive : public Base { friend bool operator==(const Derive&, const Derive&); private: int mem_; }; bool operator==(const Derive& d1, const Derive& d2) { return static_cast<const Base&>(d1) == static_cast<const Base&>(d2) && d1.mem_ == d2.mem_; } |
警告:如果不小心将