随笔分类 - C++之多态篇
多态、虚函数、虚析构函数、纯虚函数抽象类、接口类、运行时类型识别RTTI、异常处理
摘要:5 1异常处理 [TOC] 1.异常:程序运行期出现的错误 2.异常处理:对有可能发生异常的地方做出预见性的安排 3.关键字 (1)try...catch...catch... (2)throw 4.基本思想:主逻辑与异常处理分离 5.常见的异常 (1)数组下标越界 (2)除数为零 (3)内
阅读全文
摘要:4 1运行时类型识别RTTI [TOC] 1.RTTI 使程序能够获取由基指针或引用所指向的对象的实际派生类型,即允许“用指向基类的指针或引用来操作对象”的程序能够获取到“这些指针或引用所指对象”的实际派生类型。 2.操作符typeid 它的表达式有下图两种形式: | NAME
阅读全文
摘要:3 5接口类 [TOC] 一、接口类 1.接口类的定义 成员函数都是纯虚函数。 2.接口类更多的是表达一种能力或协议
阅读全文
摘要:3 1纯虚函数抽象类 [TOC] 一、纯虚函数 1.纯虚函数的定义 2.纯虚函数的实现原理 二、抽象类 1.抽象类 2.抽象类的用法 (1)抽象类无法实例化对象。(无论在堆中还是栈中。) (2)因为纯虚函数无法被调用。 (3)当类的用途很明确时,才在派生类中具体去实现
阅读全文
摘要:2 7虚函数与虚析构函数实现原理 [TOC] 1.虚函数的实现原理 (1)引入概念: 函数指针 。 (2)多态的实现原理 vftable_ptr,4字节,指向一张虚函数表的首地址。 表中存放各虚函数入口地址,此地址指向虚函数。 派生类中如果定义了同名虚函数,派生类中的虚函数表
阅读全文
摘要:2 4虚析构函数 [TOC] 1.为什么引进虚析构函数? 2.virtual在函数中的使用限制 (1)不能用来修饰普通函数(全局函数) (2)不能用来修饰静态成员函数 (3)不能用来修饰内联函数 (4)不能用来修饰构造函数 `构造函数不能成为虚函数。`
阅读全文
摘要:1 1多态的概述与虚函数 [TOC] 1.什么是多态? 2.多态的分类 (1)静态多态 又叫 早绑定 。 (2)动态多态 又叫 晚绑定 。
阅读全文

浙公网安备 33010602011771号