2012-04-10 49 views
0

我知道構圖的基本概念,即構圖具有「有」的關係。但是當實現構圖的想法出錯時,直到現在我沒有弄清楚構圖的對象和構造函數的調用基類中的另一個類。 請在這方面幫助我。C++中的組合

+0

基礎類與構圖有什麼關係? – sbi 2012-04-10 08:29:59

+0

您是否在調用成員對象構造函數的語法之後?然後,這是你需要:http://stackoverflow.com/questions/1711990/what-is-this-weird-colon-member-syntax-in-the-constructor – sbi 2012-04-10 08:39:46

回答

1

組合意味着包含的類對象在外部類(包含它)的對象的生命週期之外不存在。

Online Sample

#include <iostream> 

class MyClass 
{ 
    public: 
     MyClass(){std::cout<<"\nMyClass";} 
     ~MyClass(){std::cout<<"\n~MyClass";} 
}; 

class MySecClass 
{ 
    MyClass obj; 
    public: 
     MySecClass(){std::cout<<"\nMySecClass";} 
     ~MySecClass(){std::cout<<"\n~MySecClass";} 
}; 

int main() 
{ 
    MySecClass obj; 
    return 0; 
} 

輸出:

MyClass的
MySecClass
〜MySecClass
〜MyClass的