C++:基类的设计
Contents
本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。
C++ 基类的设计
构造函数声明为protected
析构函数声明为virtual
接口 声明为virtual = 0
以后类的构造函数成员变量定义顺序与声明一致,构造函数尽可能使用初始化,不用赋值
C++核心准则C.35:基类的析构函数要么是公开的虚函数,要么是保护的非虚函数
C++子类的智能指针赋值给父类的智能指针,析构函数不是虚函数,也能正确执行析构
http://jennica.space/tags/#C++
C++ 将对象的构造和析构函数声明为Protected的结果
c++知识细节-基类指针指向子类对象/虚纯虚函数/多态性/虚析构
unique函数_C++智能指针2:(虚?)析构函数(标准与实现的差异)
http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#c-core-guidelines