函数隐藏和函数覆盖
1、函数隐藏
派生类中函数具有与基类同名的函数(参数列表不一定相同),从而派生类中隐藏了基类的同名函数。
2、函数覆盖
定义:
派生类中函数将基类中的函数覆盖的情况称为函数覆盖。
条件:
1)基类是虚函数
2)发生覆盖的两个函数分别位于基类和派生类中
3)函数名和参数列表必须完全相同(虚函数)。
函数覆盖总是与多态性相关联。
总之,函数的覆盖是发生在基类和派生类之间,两个函数必须完全相同,并且都是虚函数。除此外,则全是隐藏了。
附:
1、交换两个数:
a=a+b;
b=a-b;
a=a-a;
这种方法可能引起溢出,更为常见的是通过异或:
a = a ^ b;
b = a ^ a;
a = a ^ b;
2、编译过程
先由预处理命令对预处理指令(#include,#define,#if)进行处理,在内存中输出翻译单元(一种临时文件),编译器接受预处理器的输出,将源代码转换成忺机器语言指令的三个目标文件(头文件不参与编译),连接时,链接器将目标文件和类库文件连接生成exe文件。
为了防止程序中出现重定义(如类),我们一般在定义头文件时,都要用预处理指令来操作。
来源:CSDN
作者:hopegrace
链接:https://blog.csdn.net/hopegrace/article/details/104147162