-
接口类:仅仅含有纯虚函数的类
- 没有数据成员,仅有纯虚函数
查看全部 -
抽象类:含有纯虚函数的类
// 纯虚函数的写法 virtual double calc()=0; //
查看全部 -
先找到子类的析构函数
子类的析构函数执行后,会自动执行父类的析构函数
查看全部 -
函数的覆盖和隐藏:
隐藏:父子类定义了同名的函数
覆盖:子类覆盖父类的虚函数
查看全部 -
虚函数表指针 ——> 指向一个虚函数表
虚函数指针不同,但内部虚函数指针一致
查看全部 -
函数的本质就是一段二进制代码,写在内存当中
函数指针也是由四个基本内存单元组成,存储着内存的地址,即函数的首地址
查看全部 -
virtual的限制:
不能修饰全局函数 不能修饰静态 static 函数 不能修饰内联 inline 函数 不能修饰构造函数
查看全部 -
虚析构函数 —— 避免造成内存泄漏
//父类 class Shape { public: virtual ~Shape(); Shape(); virtual double calcArea(); } // 继承 class Circle : public Shape { public: virtual ~Circle(); }
查看全部 -
// virtual 实现动态继承 class Shape { public: virtual double calcArea(); } // circle 继承 class Circle : public Shape // : 关键字 共同定义了继承 { public: virtual double calcArea(); } // Rect 继承 class Rect : public Shape { public: virtual double calcArea(); }
查看全部 -
throw错误编号,try{test();}catch(类型){根据编号处理}
查看全部 -
常见异常:数组下标越界,除数为0,内存不足。try catch throw
查看全部 -
typeid返回的是type——info对象的引用。基类必须含有虚函数。只能获取对象的实际类型
查看全部 -
RTTI运行时内存识别。当函数输入父类指针,根据实际传入子类指针的类型不同做不同的操作、函数。typeid(*obj).name().typeid(*obj)==typeid(Bird).
Bird *bird =dynamic_cast<Bird *>(obj)
dynamic_cast只能用于指针和引用的转化
查看全部 -
用能飞和飞行比赛理解接口类
查看全部 -
仅仅含有纯虚函数的类叫接口类
查看全部
举报
0/150
提交
取消