2011-07-22 16 views
0
class BaseClass 
{ 
    virtual void g() 
    { 
     cout<<"BaseClass:g()"<<endl; 
    } 
private: 
    virtual void f() 
    { 
     cout<<"BaseClass:f()"<<endl; 
    } 
}; 

class DeriveClass:public BaseClass 
{ 
    virtual void g() 
    { 
     cout<<"DeriveClass:g()"<<endl; 
    } 
private: 
    virtual void h() 
    { 
     cout<<"DeriveClass:h()"<<endl; 
    } 
}; 


typedef void (*Fun)(void) ; 
int _tmain(int argc, _TCHAR* argv[]) 
{ 
    DeriveClass b; 
    Fun pFun; 
    for(int i = 0; i<3; ++i)//why the variable is 3? 
    { 
     pFun = (Fun)*((int*)*(int*)(&b)+i);// I don't know this? 
     pFun(); 
    } 
    system("pause"); 
    return 0; 
} 
+0

これを行う目的は何ですか? –

答えて

1

私の見解は、 "C"コーディング技術を "C++"指向のオブジェクトプログラミングで使用することは非常に汚いことです。

クラスのメンバーにアクセスする必要がある場合は、それをpublicとマークします。

_tmain関数は、メソッドポインタを介して3つのメソッドにアクセスしています。

+0

インターネットからダウンロードしたインタビューの質問です。私はC++に関する仕事を探しています。 –

+0

これはあなたを助けるはずです:http://www.newty.de/fpt/index.html –

関連する問題