-
虚析构函数:virtual->析构函数 virtual在修饰函数时的限制: 1.普通函数不能是虚函数。 2.静态成员函数不能是虚函数。 3.内联函数不能是虚函数。 4.构造函数不能是徐含糊。查看全部
-
多态: 指相同对象收到不同消息或者不同对象收到相同消息时产生不同的动作。 静态多态 VC 动态多态 静态多态:早绑定。重载函数。 动态多态:晚绑定。以封装&继承为基础。virtual->虚函数 类定义中,数据成员的初始化,只有静态的常量整形数据成员才可以在类定义中初始化,如 static const int c=2; 常整型静态数据成员可以在类中直接初始化,而常实型静态数据成员不可以 class circle { int a; // 普通变量,不能在类中初始化 static int b; // 静态变量,不能在类中初始化 static const int c=2; // 静态常量,可以在类中初始化 static const double PI=3.1416;//error C2864: 只有静态常量整型数据成员才可以在类中初始化 } ; b可以在类外进行初始化,且所有对象共享一个b的值: int circle::b = 2; const double circle::PI = 3.1416;查看全部
-
1、只有类的成员函数才能声明为虚函数。 2、静态成员函数不能使虚函数,因为它不受限于某个对象。 3、内联函数不能使虚函数。 4、构造函数不能是虚函数。 5、析构函数可以是虚函数。 静态多态(早绑定)程序在运行之前,在编译阶段,已经决定到底要使用哪个函数了很早已经将函数编译进去了 动态多态(晚绑定):对不同的对象下达相同的指令,却做着不同的操作,必须以继承和封装为基础,至少为两个类查看全部
-
virtual只能修饰成员函数,不能修饰普通函数查看全部
-
异常:程序运行期间出现的错误 异常处理:对有可能发生异常的地方做出预见性的安排 关键字:`try...catch...` 和 `throw`查看全部
-
含有一个纯虚函数就叫抽象类查看全部
-
try catch 一对多查看全部
-
之前没有使用virtual都是隐藏,使用了virtual称为覆盖查看全部
-
虚函数表查看全部
-
接口类不能含有数据成员查看全部
-
不行了累了 我该休息了查看全部
-
(1)ctrl+K+U,是去掉注释 (2)父类是抽象类,且纯虚函数是公有的,子类公有继承下来的时候,若没有现实跟父类同名的纯虚函数,则也会继承父类的纯虚函数,此时的子类也是一个抽象类,也不能实例化对象。查看全部
-
(1)纯虚函数:是没有函数体的虚函数,而且要函数值 = 0 (2)抽象类:包含纯虚函数的类叫“抽象类” (3)抽象类不允许实例化对象,只有当子类把父类的抽象函数都实现了,子类才能实例化对象查看全部
-
(1)C++中的多态是通过虚函数表来实现的 (2)每一个类都有自己的虚函数表,该类的所有对象共用该虚函数表,来调用相应的虚函数 (3)对象的大小,一般就是指数据成员的大小,如果一个对象没有数据成员,但是为了表明此对象的存在,在C++中也会给此对象一个字节的大小,用于标明此对象的存在,类是抽象的,但是对象却是真实存在的。 (4)虚函数表在对象中占用了前面的4个内存单元,即占用了4个字节,后面的内存单元才是存储对象的数据成员的大小查看全部
-
(1)虚函数表指针(指向了虚函数表的首地址)->虚函数表(地址的偏移找到对应的虚函数的地址)->虚函数。 (2)虚函数表指针、虚函数表、虚函数都是占用内存空间的。查看全部
举报
0/150
提交
取消