2014-02-05 35 views
0

我在玩我自己的列表類。我不想在構建新列表函數時使用矢量。我想我可以簡單地創建任意名稱的數組,最後創建的數組將被存儲在lastone中。然後,通過使用數據結構{reference,data},我可以通過使用引用快速擴展列表,使變量的名稱完全不相關。如何在具有任意名稱的函數中定義一個類寬變量?

主要問題是,我該如何在具有任意名稱的函數中定義類寬變量?

第二個問題:爲了這個工作,我意識到我不需要爲這個類中的任何東西實際定義一個特定的類型,所以我將如何在模板中創建我自己的類型,並將其視爲整個類型整個班級。

class PycList { 
public: 
    void addElement(int j); 
    void defineClassVariable(int j); 
private: 
    int& lastone; 

}; 
void PycList::addElement(int j) { 

} 
void PycList::defineClassVariable(int j) { 
    //create code that will make a class wide variable with a useless name 
} 
+0

你爲什麼想要做這樣的事情?爲什麼矢量不好?你想完成什麼? (你的問題可以通過谷歌搜索模板來回答,所以它對於StackOverflow來說可能是一個不好的問題。 – IdeaHat

+1

「我如何在一個具有任意名稱的函數中定義一個類寬變量?」這聽起來像是一個X/Y問題。你認爲你需要這個,你想用它做什麼? – Borgleader

+0

我有興趣 - 沒有其他理由,沒有目的,只是要做的事情。 – user2464246

回答

2

很多「你不能」,如果你的意思是將成員添加到類本身。 C++不是一種可以在運行時向結構或類添加東西的語言。

我會使用一個std::map<int, int>(假設你的「變量」存儲一個整數,並使用一個整數作爲標識)來爲你的變量定義存儲。 (當然,如果數字「靠近在一起」並且從零開始或接近於零),則可以使用std::vector<int>

相關問題