例:
class C
{
public:
void operator =(int i) {}
};
class SubC : public C
{
};
以下はコンパイルエラーになります:
SubC subC;
subC = 0;
「'subC = 0' の 'operator=' に一致しません」
一部の情報源は、代入演算子が継承されていないためであると述べています。しかし、それは単純に、デフォルトで構築されたコピー代入がSubC
それらを覆い隠しているからではありませんか?