1. 使用template实现函数入参多元化:
#include <iostream>
#include <string>
template<typename T>
void Print(T value) {
std::cout << value << std::endl;
}
int main() {
Print(5);
Print("luobaotai");
Print(5.5f);
std::cin.get();
}
定义Print函数,借助于template,可以输入多种类型参数,当然需要支持std::cout
2. 使用template实现变长数组
长度自定义数组
#include <iostream>
#include <string>
template<int Length>
class Array {
private:
int m_Array[Length];
public:
int getSize() const {
return Length;
}
};
int main() {
Array<5> array;
std::cout << array.getSize() << std::endl;
Array<10> array1;
std::cout << array1.getSize() << std::endl;
std::cin.get();
}
长度自定义,而且数组元素类型自定义
#include <iostream>
#include <string>
template<typename T, int Length>
class Array {
private:
T m_Array[Length];
public:
int getSize() const {
return Length;
}
};
int main() {
Array<int, 5> array;
std::cout << array.getSize() << std::endl;
Array<std::string,10> array1;
std::cout << array1.getSize() << std::endl;
std::cin.get();
}