C++之类模板
代码如下:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
/*
名称:C++类模板 作者:Michael Joessy 日期:2017-06-07 高考第一天 莘莘学子加油! 知识:类型作为参数 关键字:template typename class 特别提醒:模板代码不能分离编译,请将所有的模板代码均写在.h文件中 */ #include <iostream> #include <string> using namespace std; // 简单类模板 template<class T> class MyArray { public: void display(); protected: private: T *m_pArr; }; template<class T> void MyArray<T>::display() { } // 多参数类模板 template<typename T, int nSize> class Container { public: Container(T a); void show(); protected: private: T m_obj; }; template<typename T, int nSize> Container<T, nSize>::Container( T a ) { m_obj = a; } template<typename T, int nSize> void Container<T, nSize>::show() { for (int i = 0; i < nSize; i++) { cout << m_obj << endl; } } int main(void) { Container<int, 23> ct1(23); ct1.show(); cin.get(); return 0; } |