7
仮想関数から基本クラスメソッドを派生クラスとして呼び出す方法はありますか? 例コード:派生として基本クラス関数を呼び出す
class A
{
public:
virtual void a() = 0;
void print() { std::cerr << typeid(decltype(*this)).name(); };
};
class B : public A
{
public:
virtual void a() { print(); }
};
int main()
{
B b;
b.a(); //prints 1A, I want it to print 1B, is it even possible?
}
'B'の' print'をオーバーライドします。 –
'print'はバーチャルではありません... – SHR
@SHRバーチャルにすることは助けになりません。実際のオーバーライドが必要です。http://coliru.stacked-crooked.com/a/b2c336a564ff315e –