c++ 覆盖、重载与隐藏 浅析
2016-04-27 11:40
302 查看
成员函数被重载的特征:
(1)相同的范围(在同一个类中);
(2)函数名字相同;
(3)参数不同;
(4)virtual 关键字可有可无。
覆盖是指派生类函数覆盖基类函数,特征是:
(1)不同的范围(分别位于派生类与基类);
(2)函数名字相同;
(3)参数相同;
(4)基类函数必须有virtual 关键字。
隐藏的规则如下:
(1)如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无virtual
关键字,基类的函数将被隐藏(注意别与重载混淆)。
(2)如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual
关键字。此时,基类的函数被隐藏(注意别与覆盖混淆)。本文由 whchina(江城老温)原创发布,转载请注明出处,江城老温 as a thinker。
(1)相同的范围(在同一个类中);
(2)函数名字相同;
(3)参数不同;
(4)virtual 关键字可有可无。
覆盖是指派生类函数覆盖基类函数,特征是:
(1)不同的范围(分别位于派生类与基类);
(2)函数名字相同;
(3)参数相同;
(4)基类函数必须有virtual 关键字。
隐藏的规则如下:
(1)如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无virtual
关键字,基类的函数将被隐藏(注意别与重载混淆)。
(2)如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual
关键字。此时,基类的函数被隐藏(注意别与覆盖混淆)。本文由 whchina(江城老温)原创发布,转载请注明出处,江城老温 as a thinker。
相关文章推荐
- 两种方法求两个数的最大公约数和最小公倍数--C语言
- 删除vector中重复元素
- c++内存分配方式
- 构建链表 c++
- js调用vc++的函数
- [C++]C++标准里 string和wstring
- C++实现二叉树的存储与遍历
- c&c++框架
- 对于C语言free()函数的一些反思
- Mac os 上用C++进行MYSQL开发配置
- C语言算法---求鞍点
- C++ STL中的map用红黑树实现,搜索效率是O(lgN),为什么不像python一样用散列表从而获得常数级搜索效率呢?
- C语言算法---求鞍点
- C语言算法---求鞍点
- C++基础之动态分配内存
- c++: stringstream的使用
- 如何判断一个txt文件的编码格式
- c++使用rapidxml
- C++中多重继承的二义性及解决办法
- C/C++字符串