给定:
#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 类,所以我不相信任何类型的继承都会顺利进行。
注意:如果这是一个 google-able 问题,请让我知道,因为我没有搜索什么。