访问基类的私有虚函数

匿名网友 匿名网友 发布于: 2015-12-29 00:00:00
阅读 111 收藏 0 点赞 0 评论 0

写出以下程序的输出结果:
#include class A
5

{
virtual void g()
{
cout << "A::g" << endl; } private: virtual void f() { cout << "A::f" << endl; } }; class B : public A { void g() { cout << "B::g" << endl; } virtual void h() { cout << "B::h" << endl; } }; typedef void( *Fun )( void ); void main() { B b; Fun pFun; for(int i = 0 ; i < 3; i++) { pFun = ( Fun )*( ( int* ) * ( int* )( &b ) + i ); pFun(); } } 输出结果: 注意:本题主要考察了面试者对虚函数的理解程度。一个对虚函数不了解的人很难正确的做出本题。 在学习面向对象的多态性时一定要深刻理解虚函数表的工作原理。

评论列表
文章目录