在C++中函数有三种行为重载,覆盖,隐藏。
其中覆盖和隐藏在类的继承中常常出现,要对其有足够深入的了解。
如果重新定义的是基类的虚函数
1,继承类定义的函数名相同,且特征表都相同的成员函数,这是就是覆盖,也是实现多态的基本机制
2,继承类定义的函数名相同,特征标不同的成员函数,这属于重载
如果重新定义的不是基类的虚函数
只要函数名相同的话,继承类的函数会直接隐藏掉基类中拥有此函数名的所有函数,这也就是隐藏
行为差异:
未完待续在C++中函数有三种行为重载,覆盖,隐藏。
其中覆盖和隐藏在类的继承中常常出现,要对其有足够深入的了解。
如果重新定义的是基类的虚函数
1,继承类定义的函数名相同,且特征表都相同的成员函数,这是就是覆盖,也是实现多态的基本机制
2,继承类定义的函数名相同,特征标不同的成员函数,这属于重载
如果重新定义的不是基类的虚函数
只要函数名相同的话,继承类的函数会直接隐藏掉基类中拥有此函数名的所有函数,这也就是隐藏
行为差异:
未完待续