[英]Object of another class in another class member function
我有以下代码:
class A
{
public:
A();
private:
void slot();
};
第二类B看起来像:
class B
{
public:
B();
private:
// Some stuff...
};
在file1.cpp中,两个类都有静态对象:
static A a;
static B b;
现在在file2.cpp(包含类实现)中,我将在class A
的slot函数中需要对象b
,它是在file1.cpp中创建的。 最好的方法是什么? 如何使用C ++完成?
static
表示“本地于此翻译单元”。 您试图做的事是不可能的。
另一种设计将使用非静态名称空间作用域对象,例如:
globals.hpp:
extern A a;
extern B b;
globals.cpp:
#include "globals.hpp"
A a;
B b;
A.cpp:
#include "globals.hpp"
void A::slot(){
//use b
}
您需要谨慎使用此设计,以确保在构造b
之前不要调用A::slot
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.