C++中模板的使用

1.类模板格式

head文件

template     // typename或者class都可以
class A
{
public:
           A();
           A(T data);
           void Print();
protected:
           string message;
};
 /*以下三句话是必须加的,当前的编译器不支持模板类的定义和实现分离。
 *或者将实现也写在head文件中,效果一样。
 *或者在include头文件的地方,include其cpp文件*/
#ifdef _INLINE_               
#include "A.cpp"
#endif

source文件

template 
A::A(){}
template 
void A::Print(){}

2.继承

template 
class B:public A        // 基类要指明类型参数,而不能仅仅用A
{
public:
            B(T data);
            void Say();
};
template 
B::B(T data)
     :A::A(data)        // 调用父类特定的构造函数时,必须用A::明确指明属于哪个类的A
{}
template 
void B::Say()
{
          /* cout<message<

3.注意

1)模板类只是类的蓝图,它并不是一个类,所以在使用模板类的时候,需要为其提供类型参数才是一个具体的类类型。

待续。。。

你可能感兴趣的:(C++学习笔记,c++,include,class,编译器,string,bt)