-
虚析构函数查看全部
-
静态多态:早绑定 动态多态:晚绑定,以封装和继承为基础 虚函数:(1)子类析构函数对内存的释放(2)使用父类指针指向子类对象,子类与父类有同名函数,加virtual调用子类的函数查看全部
-
多态:相同对象收到不同消息或不同对象收到相同消息时产生不同的动作查看全部
-
多态:发出一条命令时,不同的对象接收到同样的命令做出的动作不同 面向对象三大特征:封装,继承,多态查看全部
-
纯虚函数(还不知道函数该怎么定义时使用):没有函数体,函数名的后面加等于0。 例:virtual double calcPerimeter()=0; 抽象类:含有纯虚函数的类。(抽象类无法实例化对象)查看全部
-
有虚函数时,对象中首先存虚函数表指针,再存数据成员地址,没有虚函数时,首先存的是数据成员的地址。 有虚函数时,先使用指针 p 指向对象,访问的虚函数表指针,(*p)取得的是虚函数表地址,再使 p++ 就指向了数据成员,(*p)就能取得数据成员的值。查看全部
-
函数的隐藏:在没有多态的父类与子类中,存在同名函数,则会出现函数的隐藏。 函数的覆盖:在有多态的父类与子类中,在子类中,同名的函数会覆盖掉从父类继承来的同名函数查看全部
-
只要含有纯虚函数, 那么这个类就是抽象类, 若它作为基类被继承 , 派生类也未定义该 纯虚函数, 那么这个类也是抽象类. 抽象类不能定义对象 !查看全部
-
抽象类无法实例化对象查看全部
-
仅含有函数,且函数是纯虚函数的类称之为接口查看全部
-
虚函数的使用限制: 1 普通函数(全局)不能是虚函数 2 静态的成员函数不能是虚函数 3 内联函数不能是虚函数 4 构造函数不能为虚函数查看全部
-
虚析构函数: virtual 析构函数; 虚析构函数可以销毁父类指针所申请的子类内存查看全部
-
每个类的头文件中都加上宏定义,防止出现类重定义现象查看全部
-
运行时多态查看全部
-
多态:指相同对象受到不同消息或不同对象收到相同消息时产生不同的动作。 静态多态(早绑定):在运行前,编译阶段就已确定要调用哪个函数,很早就把函数编译进去。 动态多态(晚绑定):不同对象,下达相同指令,产生不同动作。前提:以封装与继承为基础。至少要两个类,父类与子类,用三个类时,动态多态表现地会更明显。 实现多态的成员函数:用virtual修饰函数,使之成为虚函数。查看全部
举报
0/150
提交
取消