私はこのコードの結果が好きですが、興味がありました。main()からB :: VFunc()を呼び出すことは可能ですか?Cの内部に書き込むとそれが呼び出されることは知っていB::VFunc();
ますが、オブジェクトの外部から関数を呼び出すことは可能ですか?
#include <cstdio>
class I { public: virtual void VFunc()=0; };
class B : public I { public: void VFunc() { printf("B\n"); } };
class C : public B { public: void VFunc() { printf("C\n"); } };
int main(){
C v;
B&i = v;
i.VFunc();
}
出力:
C