2012-04-02 5 views
0

オブジェクトのメンバ関数ポインタを別のオブジェクトのメソッドのポインタにすることはできますか?もしそうなら、例を挙げてください。メンバ関数ポインタが別のオブジェクトのメソッドを指している

+0

状況はありますか?なぜそれを達成したいのですか? – talnicolas

+0

同じタイプの別のオブジェクト、または異なるタイプのオブジェクトですか? –

答えて

2

オブジェクトのメンバ関数ポインタを別のオブジェクトのメソッドのポイントにすることはできますか?

はい。

もしそうなら、例を挙げてください。

私はあなたに2つ与えます。

struct A { 
void f() {} 
}; 
struct B { 
void (A::*p)(); 
}; 

int main() { 
A a; 
B b; 
b.p = &A::f; 
(a.*b.p)(); 

A* pA = &a; 
B* pB = &b; 
(pA->*pB->p)(); 
} 
関連する問題