2013-10-05 50 views
1

我有一些對象的動態數組(使用C++)並在我的實現中使用它們。我如何將這些數組存儲在單個數組中。例如,如何在單個數組中保存對象的動態數組

class classA{ 
} ; 

class classB { 

    private: 
    // Dynamic arrays, initialized in constructor 
    classA *arr1 ; 
    classA *arr2 ; 
    classA *arr3 ; 
    classA *arr4 ; 

    public: 
    classB() { 
     // initialization 
     arr1 = new classA [10] ; 
     arr2 = new classA [10] ; 
     arr3 = new classA [10] ; 
     arr4 = new classA [10] ; 
    } 

} 

我想保存在其他一些(靜態或動態)陣列

+0

好吧,我加CLASSB –

回答

2

只需使用std::vector所有這些陣列,它被稱爲在C++動態數組和通常被用作默認容器。

class classB 
{ 
public: 
    classB() 
    : arr1(10), arr2(10), arrN(10) 
    {} 
private: 
    std::vector<classA> arr1; 
    std::vector<classA> arr2; 
    //.... 
    std::vector<classA> arrN; 
}; 

更新:

如果你有幾個載體,要添加一個到另一個。見下面的示例:

std::vector<classA> arr1; 
std::vector<classA> arr2; 
// add something to arr1 
// add something to arr2 

arr1.insert(arr1.end(), arr2.begin(), arr2.end()); 
+0

的構造請解釋如何在動態數組添加到一個載體,我怎麼「使用索引」獲得這些陣列 –

+0

閱讀起來的http:// en.cppreference.com/w/cpp/container/vector,看看像push_back等成員函數 – billz

+0

不,我必須通過使用動態數組來實現「STACK」。我已經實現了,但希望將所有這些數組保存在一個數組中。我必須通過使用索引來訪問所有動態數組,然後使用 –