- 171 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 01:32:23 ]
- #include <stdio.h>
class A{ public: virtual void func(){printf("A::func¥n");}; }; class B :public A{ private: virtual void func() {printf("B::func¥n");} }; int main (void) { A* b = new B; b->func(); //B::funcと出力される。privateなのにアクセスできる!? } 上記のコードについて、ご教授をお願いします。 gcc4.01で試したところコンパイルすることができました。 B::func()はprivateなのになぜコンパイルエラーにならないのでしょうか?
|

|