鉴于:
#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 类,用于管理套接字/管道,因此我认为任何类型的继承都不会很顺利。
注意:如果这是一个可以通过谷歌搜到的问题,请让我知道,因为我不知道该如何搜索。