// ============================================================================ // p1c04_08_06 — 4.8.6.2 纯虚析构函数 // 来源:川大 C++/LinuxC wiki「02.Qt方向」 // 说明:本文件由 gen_part1.py 合并页面中的教学片段而成。每个片段用 // // --- 原文片段 [pageId:blockIdx] --- 标注出处。 // 已做最小修正(笔误/平台移植),详见 docs/ERRATA.md。 // ============================================================================ #include using namespace std; // --- 原文片段 [58954469:5] 4.8.6.2 纯虚析构函数 --- //非纯虚析构函数 class A{ public: virtual ~A(); }; A::~A(){} //纯析构函数 class B{ public: virtual ~B() = 0; }; B::~B(){} void test(){ A a; //A类不是抽象类,可以实例化对象 //B b; // 非法:B 含纯虚析构函数,是抽象类,不能实例化对象 //B类是抽象类,不可以实例化对象 } // --- main --- int main() { test(); return 0; }