






父类构造函数必须在初始化列表中调用,不能在子类构造函数体内调用;多层继承时每层只调用直接父类,虚基类...

虚继承必须在直接继承时于基类名前加virtual,如classB:virtualpublicA;虚基...

纯虚函数必须写=0且不能有函数体,抽象类需至少一个纯虚函数,接口类应满足零数据成员、全纯虚函数、虚析...

构造函数初始化顺序严格按成员声明顺序执行,与初始化列表书写顺序无关;const/引用成员必须在初始化...

虚继承通过共享唯一虚基类子对象解决菱形继承二义性,引入vbptr/vbtable导致内存和性能开销,...

纯虚析构函数必须定义,否则链接失败;接口类析构函数必须为virtual以确保多态销毁安全;是否纯虚取...

虚继承解决菱形继承导致的二义性和数据冗余问题:当B、C均继承A,D继承B和C时,若不虚继承,D中会存...

throw必须抛出对象而非裸指针或字面量,如throw"error&quo...

虚函数实现运行时晚绑定,使Base*或Base&能根据实际对象类型调用派生类重写函数...

dynamic_cast返回nullptr当且仅当对指针进行向下转型时,源对象并非目标类型或其派生类...

vtable是C++运行时多态的核心机制,由编译器为含虚函数的类生成只读函数指针数组,按声明顺序存储...

std::function通过虚函数表实现类型擦除,将invoke、copy、destroy等操作抽...