-
多态的实现原理查看全部
-
抽象类不能实例化对象查看全部
-
#include <iostream> #include <stdlib.h> #include <string> using namespace std; /** * 定义动物类:Animal * 成员函数:eat()、move() */ class Animal { public: // 构造函数 Animal(){cout << "Animal" << endl;} // 析构函数 virtual ~Animal(){cout << "~Animal" << endl;} // 成员函数eat() virtual void eat(){cout << "Animal -- eat" << endl;} // 成员函数move() virtual void move(){cout << "Animal -- move" << endl;} }; /** * 定义狗类:Dog * 此类公有继承动物类 * 成员函数:父类中的成员函数 */ class Dog : public Animal { public: // 构造函数 Dog(){cout << "Dog" << endl;} // 析构函数 virtual ~Dog(){cout << "~Dog" << endl;} // 成员函数eat() virtual void eat(){cout << "Dog -- eat" << endl;} // 成员函数move() virtual void move(){cout << "Dog -- move" << endl;} }; int main(void) { // 通过父类对象实例化狗类 Animal *p=new Dog; // 调用成员函数 p->eat(); p->move(); // 释放内存 delete p; p=NULL; return 0; }查看全部
-
喜欢查看全部
-
函数的隐藏:父类和子类出现同名函数; 函数的覆盖:子类与父类有同名虚函数,子类虚函数则被父类覆盖查看全部
-
虚函数使用virtual关键字定义,但使用virtual关键字时,并非全部是虚函数; 虚函数特性可以被继承,当子类中定义的函数与父类中虚函数的声明相同时,该函数也是虚函数。查看全部
-
只有虚析构函数,没有虚析构函数查看全部
-
虚析构函数可以防止内存泄漏查看全部
-
多态具体到语法是指使用父类指针指向子类对象,并可通过该指针调用子类的方法; 多态是基于类和继承; 多态的语法核心是virtual关键字,必须使用virtual才能使多个类间建立多态关系; 封装、继承、多态是面向对象的三大特性;查看全部
-
笔记截图不会用查看全部
-
c++虚查看全部
-
虚析构函数查看全部
-
try与catch是一对多的关系查看全部
-
异常情况处理: try catch throw查看全部
-
typeid注意事项: 1、type_id返回一个type_info对象的引用 2、如果想通过基类的指针获得派生类的数据类型,基类必须带有虚函数 3、返回数据的真实类型查看全部
举报
0/150
提交
取消