特化类模板成员

时间:2021-12-14 20:51:45

#include  "stdafx.h"
#include<iostream>    
using namespace std;


#include <iostream>


template<typename T>
class   A { 
public: 
static  int  a; 
void print() const
{
cout << "AAA " << endl;
}
};


 
//-----------------------------------------------------------
  


template<typename T>
int   A<T>::a = 111; //这是模板静态变量的初始化




template<>
int   A<char>::a = 222; //这是一个特化, T为char 时的 a静态变量的初始化




template<>
class  A<bool>//  特化类
{
public:


static  int  a;
void printO() const
{
cout << "特化printO " << endl;
}
};  
 
int   A<bool>::a = 333;// 这是特化类的静态成员初始化 , 不能加template<>
 


 
template<>
void   A< float >::print() const //这是一个特化, T为float 时的  print函数
{
std::cout << "特化print" << endl;
}






int main()
{
A<bool>  a;
a.printO();


cout << A<double>::a << endl;
cout << A<char>::a << endl;
cout << A<bool>::a << endl;




A<float>  a2;
a2.print();




}



Created  by   黄强