C++深入理解(9)------类模板的详述(读书笔记)

1.简单的实现

       前面已经说过函数模板的相关知识点,模板作为C++重要的知识点,不仅仅可以在函数中使用,在类中依然是可以使用的,而且我们熟悉的stack,map等都是模板实现的类,虽然平时用的时候比较少,但是还是很有必要了解其根本原理的。

        模板的概念大家肯定都比较熟了,有时常常遇到这样的问题,我们完成了一个类的设计,其内部能将int转化为一个字符串,但是突然遇到一个需求,希望将一个long类型也转化为字符串。此时当然不希望去重写一个功能相同的类,就可以使用模板的形式,将此类设计成模板类。

        模板类基本的格式都是:template<class Type> class A,或者template<typename Type> class B;

        下面就以上面说的字符串转化函数写出一个模板类:

template <typename Type>
class CToString
{
private:
	Type m_typeData;

public:
	CToString();
	~CToString();
	string GetString();
};

template<typename Type>
CToString<Type>::CToString()
{

}

template<typename Type>
CToString<Type>::~CToString()
{

}

template<typename Type>
CToString<Type>::GetString()
{
	ostringstream ostr;
	ostr << m_typeData;
	return ostr.str();
}

int main()
{
	CToString<int> ctostr;
	cout << ctostr.GetString() << endl;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值