C++中如何实现派生类函数重载与虚函数继承的详细解析?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1781个文字,预计阅读时间需要8分钟。
目录
一、作用域与名称查找
1.作用域的嵌套
2.在编译时进行名称查找
3.名称冲突与继承
4.通过作用域运算符来使用隐藏的成员
二、同名函数隐藏与虚函数覆盖
1.几种必要的区域划分情况
目录- 一、作用域与名字查找
- 1.作用域的嵌套
- 2.在编译时进行名字查找
- 3.名字冲突与继承
- 4.通过作用域运算符来使用隐藏的成员
- 二、同名函数隐藏与虚函数覆盖
- 1.几种必须区分的情况
- 2.一个更复杂的例子
类的关系图:
一、作用域与名字查找 1.作用域的嵌套派生类的作用域嵌套在基类之内
Bulk_quote bulk;
cout<< bulk.isbn();
名字isbn解析过程:
- 因为我们是通过Bulk_quote的对象调用isbn的,所以首先在Bulk_quote中查找,这一步没有找到名字isbn。
- 因为 Bulk_quote是Disc_quote 的派生类,所以接下来在Disc_quote中查找,仍然找不到。
- 因为Disc_quote是Quote的派生类,所以接着查找Quote;此时找到了名字isbn,所以我们使用的isbn最终被解析为Quote中的isbn。
本文共计1781个文字,预计阅读时间需要8分钟。
目录
一、作用域与名称查找
1.作用域的嵌套
2.在编译时进行名称查找
3.名称冲突与继承
4.通过作用域运算符来使用隐藏的成员
二、同名函数隐藏与虚函数覆盖
1.几种必要的区域划分情况
目录- 一、作用域与名字查找
- 1.作用域的嵌套
- 2.在编译时进行名字查找
- 3.名字冲突与继承
- 4.通过作用域运算符来使用隐藏的成员
- 二、同名函数隐藏与虚函数覆盖
- 1.几种必须区分的情况
- 2.一个更复杂的例子
类的关系图:
一、作用域与名字查找 1.作用域的嵌套派生类的作用域嵌套在基类之内
Bulk_quote bulk;
cout<< bulk.isbn();
名字isbn解析过程:
- 因为我们是通过Bulk_quote的对象调用isbn的,所以首先在Bulk_quote中查找,这一步没有找到名字isbn。
- 因为 Bulk_quote是Disc_quote 的派生类,所以接下来在Disc_quote中查找,仍然找不到。
- 因为Disc_quote是Quote的派生类,所以接着查找Quote;此时找到了名字isbn,所以我们使用的isbn最终被解析为Quote中的isbn。

