模板特化和强制转换的问题

/********************************************************************
 file name : CLK.h
 author  :   Clark/陈泽丹
 created :   2011-11-10
 purpose :   模板特化和强制转换问题
*********************************************************************/
#include <iostream>

using namespace std;

class Base
{
public:
	Base(){ m_BaseDate = 5; }
protected:
	int m_BaseDate;
};
struct kkk
{
	int k;
	kkk()
	{
		k = 102;
	}
};
template <class T> 
class Trigger: public Base
{
public:
	Trigger(T data)
	{
		cout<<"非法类型"<<endl;
	}
};
template <>
class Trigger<int>:  public Base
{
public:
	Trigger(int data)
	{
		cout<<data<<endl;
	}
};
template <>
class Trigger<kkk>:  public Base
{
public:
	Trigger(kkk data)
	{
		cout<<data.k<<endl;
	}
};

class Q:public Trigger<int>
{

};

template<class T>
void Recv(T& date)
{
	Trigger<T> triger(date);
}

void Recv1(char* buf)
{
	int *pSTrig = (int *) buf;
	if (NULL == pSTrig)
	{
		return;
	}
	cout<<*pSTrig<<endl;
}

void main()
{
	//传入整型
	int iType = 5;
	Recv(iType);

	kkk kd;
	Recv(kd);

	//传入非法类型
	double dType = 5;
	Recv(dType);

	//传入整型
	Recv1((char*)&iType);

	//传入非法类型
	Recv1((char*)&dType);


	system("pause");
}

/*
5
非法类型
5
0
请按任意键继续. . .
*/


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值