何时以及为什么父类操作符重载隐藏在子类中

When and why are superclass operator overloads hidden in a subclass?

本文关键字:隐藏 子类 重载 操作符 为什么 父类 何时      更新时间:2023-10-16

我知道,如果子类提供了一个操作符方法(让我们说赋值),这隐藏了父类中的操作符,除非你显式地做using superclass::operator=,但在我的代码中,我看到的情况下,我需要这样做,即使子类做实现任何操作符。

是否有一个具体的情况列表,其中操作符(和其他方法,如果它是一个一般情况下)将被隐藏,在哪里他们不会?

相关:c++中operator=的继承问题。

operator=是唯一由编译器生成的成员函数(除了构造函数和析构函数),因此也是唯一一个即使在派生类中没有用户声明也隐藏的函数。