内容:
说明:
类模板的使用
示例代码:
// Class_Template.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <string> #include <iostream> using namespace std; enum class Color { red, green, orange }; enum class Fruit { apple, orange, pear }; template<typename T>struct Traits; template<>struct Traits<Fruit> { static string name( int index ) { switch( index ) { case 0: return "apple"; break; case 1: return "orange"; break; case 2: return "pear"; break; default: return "unknown"; break; } } }; template<>struct Traits<Color> { static string name( int index ) { switch( index ) { case 0: return "red"; break; case 1: return "green"; break; case 2: return "orange"; break; default: return "unknown"; break; } } }; //by zhaocl int main() { int n; cin >> n; while( n-- ) { int type1, type2; cin >> type1 >> type2; cout << Traits<Color>::name( type1 ) << endl; cout << Traits<Fruit>::name( type2 ) << endl; } system( "pause" ); return 0; }
知识点:
类模板的使用:先声明再使用
声明:
template<typename T>struct Truits;
实现:
template<>struct Truits<Fruit>
{};