与えられた:
#include <stdio.h>
class A
{
friend class B;
private:
void func();
} GlobalA;
void A::func()
{
printf("A::func()");
}
class B
{
public:
void func();
};
void B::func()
{
GlobalA.func();
}
int main()
{
B b;
b.func();
getchar();
}
だから本当にすべてB::func()
は電話A::func()
です、これを行うためのより良い方法はありますか?A::func()
または、コンパイラはコンパイル時に直接呼び出すだけですか。
制約:
class A
スレッドを作成し、他の複数のクラスで使用されます。ソケット/パイプを管理するためのグローバルIOクラスであるため、どのタイプの継承もうまくいくとは思いません。
注:これがグーグル可能な問題である場合、私は何を検索するかをしなかったので私に知らせてください。