21:知识点1:一个类无论是类模版还是普通类,都可以将其成员函数定义为模版,称之为成员模版,但是成员模版不能是虚函数
debug.h
#ifndef DEBUG_H
#define DEBUG_H
class Debugdelete
{
public:
Debugdelete(ostream &s = cerr):os(s){}//构造函数
template <typename T> void operator()(T *p) const//const表示该函数不会修改类的成员数据
{
os<<"deleting..."<<endl;//额外信息,我们的删除器可以做用于任何版本类型
delete p;//接受一个指针作为参数,并且删除该指针
}
private:
ostream &os;//私有成员为一个输出流
};
#endif DEBUG_H