关于继承过程中的重定义重写的小结:

来源:互联网 发布:mysql 多条select语句 编辑:程序博客网 时间:2024/06/06 00:57
关于继承过程中的重定义重写的小结:
继承加上重定义(没使用virtual关键字),则从当前指针属于的域开始往基类找
继承加上重写(使用了virtual关键字),则从当前对象属于的域开始往基类找

如果使用了域名那么会从该域开始往基类找(不管是重定义还是重写)。

重载只限定在该域中,如果父类有两个名字f1,f2重载,那么子类有一个函数和父类同名,那么在该子类中就找不到另一函数f2,要加上域名限定才能找到。

重写和重定义出现在继承的过程中。


继承过程中的构造和析构:
构造的顺序:先执行子类的构造函数、然后执行组合对象的构造函数、最后执行自身的构造函数
析构的顺序:与构造的顺序相反。析构的过程中,如果使用了基类指针指向该类进行析构,那么要使用虚析构函数(析构函数名字前加virtual),防止内存泄漏。

如果在类中有static定义的静态变量,那么在类的外面需要对其再定义一遍或初始化,为了告诉编译器分配空间;否则使用该静态变量时(错误提示:无法解析的外部符号 )。

0 0