C++模板的使用

tech2022-09-17  108

参考博客:https://www.cnblogs.com/sevenyuan/p/3154346.html

以下内容是摘抄以上博主的博客

1、定义:模板定义:模板就是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型定义为参数, 从而实现了真正的代码可重用性。模版可以分为两类,一个是函数模版,另外一个是类模版。

2、函数模板的实现,如下代码:

//函数模板 #include <iostream> using std::cout; using std::endl; //using namespace std; template <class T> T min(T x, T y) { return(x < y) ? x : y; } void main() { int n1 = 2, n2 = 10; double d1 = 1.5, d2 = 5.6; cout << "较小整数:" << min(n1, n2) << endl; cout << "较小实数:" << min(d1, d2) << endl; system("PAUSE"); }

3、类的模板,代码如下:

//类的模板 // ClassTemplate.h #ifndef ClassTemplate_HH #define ClassTemplate_HH #include <iostream> using std::cout; using std::endl; template<typename T1, typename T2> class myClass { private: T1 I; T2 J; public: myClass(T1 a, T2 b);//Constructor void show(); }; //这是构造函数 //注意这些格式 template <typename T1, typename T2> myClass<T1, T2>::myClass(T1 a, T2 b) :I(a), J(b) {} //这是void show(); template <typename T1, typename T2> void myClass<T1, T2>::show() { cout << "I=" << I << ", J=" << J << endl; } #endif // Test.cpp void main() { myClass<int, int> class1(3, 5); class1.show(); myClass<int, char> class2(3, 'a'); class2.show(); myClass<double, int> class3(2.9, 10); class3.show(); system("PAUSE"); }

 

最新回复(0)