gpt4 book ai didi

c++ - 在派生类中使用抽象类的重载运算符

转载 作者:搜寻专家 更新时间:2023-10-30 23:56:47 25 4
gpt4 key购买 nike

如果我有一个如下的抽象类:

class Base{
public:
// some pure virtual functions
bool operator< (Base &other) const { return str < other.str; }
private:
string str;
};

如果派生类也像基类一样进行比较(小于函数的运算符将与基类相同),是否可以使用继承或虚函数来完成此操作?

最佳答案

您无需执行任何操作,因为名称查找会找到 operator<在基类中。
但是定义operator为非成员是可行的friend功能。即

friend bool operator< (Base const& lhs, Base const& rhs)
{
return lhs.str < rhs.str;
}

Demo .

关于c++ - 在派生类中使用抽象类的重载运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27071081/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com