[英]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.