一、
二、
继承用法
三、
问题:为什么模板类
范例:
// Tclass.h
#ifndef __T_CLASS_H__
#define __T_CLASS_H__
template<typename T>
class Tclass
{
public:
Tclass();
~Tclass(); // 如果作为几类,则用: virtual ~Tclass();
void func1(T t);
int func2(T &t);
private: // or protected
T data;
};
template<typename T>
Tclass<T>::Tclass()
{
...
}
template<typename T>
Tclass<T>::~Tclass()
{
...
}
template<typename T>
void Tclass<T>::func1()
{
...
}
template<typename T>
int Tclass<T>::func2()
{
...
}
#endif
二、
继承用法
// child.h
#ifndef __CHILD_H__
#define __CHILD_H__
typdef struct _ST
{
...
}St;
class Child : public Tclass<St>
{
public:
// 注意这里,Child的实现可以放在cpp中的。
Child() : Tclass<St>::Tclass()
{}
~child();
...
private:
...
}
#endif
三、
问题:为什么模板类