namespace B { class CBase { public: CBase() { printf("<Base>+/n"); } virtual ~CBase() //virtual 加不加 打印结果不一样哦 { printf("<Base>-/n"); } protected: private: }; class CChild:public CBase { public: CChild() { printf("<CChild>+/n"); } ~CChild() { printf("<CChild>-/n"); } protected: private: }; } //调用 B::CBase *base = new B::CChild; delete base; //输出 <Base>+ <chile>+ <child>- //加virual 有,否则无 <Base>-