關於相互依賴的類,如何不報錯

2021-06-20 19:50:27 字數 644 閱讀 2843

名詞:

--宣告:  class a

;只宣告而不在此處定義,告訴編譯器有這個型別,那麼你就可以使用這個型別了,但這個型別的使用是受限的(在定義之前的使用)

不完全型別:上面的型別就是不完全型別,該型別只能用來定義指向該型別的指標或則引用。

在建立類的物件之前,必須完整地定義該類,

同樣在使用指標或者引用訪問該類成員時,必須已經定義了類。

#includeusing namespace std;

class b;//前向宣告 ,為了在a中的函式列表中能使用b

class a

void seta(b &b);//可以定義類的引用 ,但是不能在這裡完整地定義該函式,因為b類只宣告還沒定義

int geta()

private:

int m_a;

};class b

void setb(a&a);//這裡也是一樣

int getb()

private:

int m_b;};

void a::seta(b &b)

void b::setb(a &a)

int main()

參考書籍《c++ prime》

spring是如何解決物件相互依賴的

第一種,解決setter物件的依賴,就是說在a類需要設定b類,b類需要設定c類,c類需要設定a類,這時就出現乙個死迴圈,spring的解決方案是,初始化a類時把a類的初始化bean放到快取中,然後set b類,再把b類的初始化bean放到快取中,然後set c類,初始化c類需要a類和b類的bean,...

建立相互依賴(影響)的WPF屬性

昨天在網上看到乙個問如何在wpf裡面實現相互依賴的屬性,例如下面乙個類 using system public class rtdfield set private double x1 public double x2 set private double x2 public double x se...

promise處理多個相互依賴的非同步請求

在專案中,經常會遇到多個相互依賴的非同步請求。如有a,b,c三個ajax請求,b需要依賴a返回的資料,c又需要a和b請求返回的資料。如果採用請求巢狀請求的方式自然是不可取的。導致 難以維護,如何請求很多。會出現很多問題。promise就是解決多個非同步請求的問題。promise是es6提供的乙個物件...