2014-03-30 79 views
0

我有兩個堆棧的模板類,但我不知道如何配對它們來填充第一個和第二個。任何幫助或想法將不勝感激!這是我現在擁有的。如何使用數組升序排列兩個堆棧

template<class Item> stackpair<Item>::stackpair() 
    { 

    }; 
    template<class Item> stackpair<Item>::stack_a() 
    { 
     used = 0; 
     for (size_t i = 0; i < CAPACITY; i++) 
     { 
      data_first[i] = Item(); 
     } 
    }; 
    template<class Item> stackpair<Item>::stack_b() 
    { 
     used = 0; 
     for (size_t i = 0; i < CAPACITY; i++) 
     { 
      data_second[i] = Item(); 
     } 
    }; 

回答

0

我認爲這是更好地爲您使用別名爲兩個std::arraystd::pair而不是定義具有類似功能的一類新的:

template<typename Item, std::size_t N> 
using stackpair = std::pair<std::array<Item, N>, std::array<Item, N>>; 

,並用實例他​​們:

stackpair<Example, CAPACITY> sp; 

fill它們與:

sp.first.fill(Example()); 
sp.second.fill(Example()); 

另請注意,有一個名爲std::stack的堆棧式操作的特定容器。