C++ mô bản ( Templates ) chủ yếu thị biên tả phiếm hình đại mã, tại biên dịch thời vi bất đồng sổ cư loại hình sinh thành tương ứng đích hàm sổ hoặc loại thật lệ, chủ yếu hữu hàm sổ mô bản, loại mô bản
Hàm sổ mô bản
#include <iostream>
#include <string>
using namespace std;
template<typename T>
T Total(T a, T b) {
return a < b? b:a;
}
int main() {
cout << Total(1, 2)<<endl; // thâu xuất 2
cout << Total(1.1, 2.2)<<endl; // thâu xuất 2.2
cout << Total( "ABC", "BCD" )<<endl; // thâu xuất ABC
return 0;
}
Loại mô bản
#include <iostream>
#include <string>
#include <vector>
using namespace std;
template<class T>
// dã khả dĩ sử dụng template<typename T>
class Stack{
private:
vector<T> elements;
public:
void push(T value){
elements.pushback(value)
}
};
int main() {
//int loại hình sử dụng
Stack<int> intStack;
intStack.push(1);
//string loại hình sử dụng
Stack<string> stringStack;
stringStack.push( "hi" );
return 0;
}