-
虚析构函数原理图1查看全部
-
重载: (1)相同的范围(在同一个类中); (2)函数名字相同; (3)参数不同; (4)virtual 关键字可有可无。 隐藏: (1)不同的范围 (2)函数名相同 (3)参数不同 (4)virtual 关键字可有可无 覆盖: (1)不同的范围(分别位于派生类与基类); (2)函数名字相同; (3)参数相同; (4)基类函数必须有virtual 关键字。查看全部
-
多态的实现原理图3查看全部
-
多态的实现原理图2查看全部
-
多态的实现原理图1查看全部
-
1. 多态中存在的问题---内存泄露(只有父类的析构函数执行)---虚析构函数 2. virtual在函数中的使用限制 普通函数;静态成员函数;内联函数;构造函数查看全部
-
1. 什么是多态 2. 静态多态(早绑定),动态多态(晚绑定---封装,继承,子类初始化父类) 3. 虚函数查看全部
-
多态的定义查看全部
-
1. 普通虚函数---虚析构函数 2. 纯虚函数---抽象类---接口类 3. RTTI 4. 异常处理 5. 隐藏与覆盖,联系与区别 6. 早绑定,晚绑定 7. 虚函数表查看全部
-
继承关系不是RTTI的充分条件,只是必要条件,所以存在继承关系的类不一定可以用RTTI技术; RTTI的含义是运行时类型识别; RTTI技术可以通过父类指针识别其所指向对象的真实数据类型; 运行时类型别必须建立在虚函数的基础上,否则无需RTTI技术.查看全部
-
可以使用接口类指针指向其子类对象,并调用子类对象中实现的接口类中纯虚函数。 一个类可以继承一个接口类,也可以继承多个接口类。 一个类可以继承接口类的同时也继承非接口类。 接口类中仅有纯虚函数,不能含有其它函数,也不可以含有数据成员。查看全部
-
多态:指相同对象受到不同消息或不同对象收到相同消息时产生不同的动作。 静态多态(早绑定):在运行前,编译阶段就已确定要调用哪个函数,很早就把函数编译进去。 动态多态(晚绑定):不同对象,下达相同指令,产生不同动作。前提:以封装与继承为基础。至少要两个类,父类与子类,用三个类时,动态多态表现地会更明显。 实现多态的成员函数:用virtual修饰函数,使之成为虚函数。查看全部
-
抽象类:包含纯虚函数的类,无法实例化对象。其子类也可能是抽象类。在子类中将所有纯虚函数均实现后才能实例化对象。查看全部
-
虚函数:子类继承父类的多态所需要的一个条件; 虚函数表:使用virtual关键字修饰会自动产生的一个指针列表; 纯虚函数:虚函数中没有函数体,并且将其值直接赋0,的函数称为纯虚函数; 抽象类,含有纯虚函数的类; 抽象类无法实例化对象; 抽象类的子类有可能也是抽象类;查看全部
-
在C++中多态的实现是通过虚函数表实现的 当类中仅含有虚析构函数,不含其它虚函数时,也会产生虚函数表 每个类只有一份虚函数表,所有该类的对象共用同一张虚函数表 两张虚函数表中的函数指针可能指向同一个函数。查看全部
举报
0/150
提交
取消