1、通过子类对象的指针删除子类对象时,无论父类的析构函数是不是虚的,都会调用父类的析构函数。但是通过父类对象的指针(指向子类对象)删除对象时,如果父类的析构函数不是虚的,那么就不会调用子类的析构函数。所以为了保证正确性,要将会派生的类的析构函数声明为虚的。
2、成员函数加上const修饰和不加const,实际声明了两个不同的函数。
3、子类的友元类可以通过子类对象去访问父类的保护成员。
4、非类型模板参数,可以是:整形(包括枚举),对象指针
不可以是: 浮点型,类类型
5、在typedef语句里不应该有异常规格声明,即以下是错误的:
typedef void (*gf)() throw(int);