2011-05-13 97 views
0

我的主题问题有点误导,我不想实现像std :: vector这样的整个类,但我希望能够创建一个名为Container的类这样我就可以像这样把它声明:如何实现类似于std :: vector的自定义类

Container <unsigned int> c; 

因此,这是我怎么重载<>运营商...

class Container 
{ 
    private: 
     Container() 
     { 
     ... 
     } 

    public: 
     void operator <>(unsigned int) 
     { 
     // what do I put here in the code? 
     // maybe I call the private constructor... 
     Container(); 
     } 
}; 
+0

你记?,数组,列表,地图有哪些类型的容器中,等?所有这些选择会影响的性质最终的模板 – 2011-05-13 10:56:13

回答

7

没有operator <><>表示Container类模板。你需要沿线的语法:

template <typename T> 
class Container 
{ 
    ... 
}; 

开始的最好的地方是找到一个很好的C++的书,但你也可以尝试阅读例如C++ FAQ page about templates

相关问题