-
运行时识别,typeid(),dynamic_cast< >查看全部
-
虚函数表指针占用四个内存单元查看全部
-
函数指针有四部分组成查看全部
-
只要含有纯虚函数, 那么这个类就是抽象类, 若它作为基类被继承 , 派生类也未定义该 纯虚函数, 那么这个类也是抽象类. 抽象类不能定义对象 !查看全部
-
隐藏 : 没有虚函数的情况下, 派生类含有与基类相同的函数名, 那么派生类的函数就隐藏了基类的函数. 覆盖 : 每个带有虚函数的类都含有虚函数表, 虚函数表里的函数指针指向类的虚函数地址, 如果派生类自己定义了继承的虚函数, 那么原本指向基类的地址就变成了自己新定义的函数的地址, 这就是派生类把基类覆盖了查看全部
-
在类中有动态内存(申请到了堆中)时, 一定要记得在基类中的析构函数要是 virtual 的, 否则若只delete 基类指针 ,那么只执行基类的析构函数 . 若基类析构函数加了 virtual 则 先执行 派生类的析构函数(堆中申请的内存被释放掉了,内存泄漏解决), 再执行基类的析构函数. 其实当 delete 派生类指针的时候 ,也是先执行派生类析构函数, 再执行基类析构函数. 但是你用派生类指针接受派生类对象, 那岂不是浪费了多态了嘛! 引用也是类似, 引用的析构函数赶在函数体结束的大括号之前} . 而且virtual 不能修饰 1. 普通函数 2. 构造函数 3. 内联函数(内联不再内联) 4. static 函数 2.查看全部
-
请输入笔记内容...查看全部
-
RTTI查看全部
-
异常处理机制查看全部
-
含有纯虚函数的类叫抽象类,抽象类不允许实例化对象查看全部
-
1. 在C++中异常处理通常使用try...catch...语法结构。 2. 一个try语句可以对应一个或多个catch语句,但不能没有catch语句 3. C++中使用throw抛出异常,通过catch捕获异常查看全部
-
A. RTTI的含义是运行时类型识别 B. RTTI技术可以通过父类指针识别其所指向对象的真实数据类型 C. 运行时类型别必须建立在虚函数的基础上,否则无需RTTI技术 D. 继承关系不是RTTI的充分条件,只是必要条件,所以存在继承关系的类不一定可以用RTTI技术查看全部
-
typeid查看全部
-
dynamic_cast查看全部
-
dynamic_cast查看全部
举报
0/150
提交
取消