C++ Primer 5th笔记(chap 18 大型程序工具)多重继承下的类作用域
Posted thefist11
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ Primer 5th笔记(chap 18 大型程序工具)多重继承下的类作用域相关的知识,希望对你有一定的参考价值。
1. 派生类的作用域嵌套在直接基类和间接基类的作用域中。 查找过程沿着继承体系自底向上进行, 直到找到所需的名字。派生类的名字将隐藏基类的同名成员。
在多重继承的情况下, 相同的查找过程在所有直接基类中同时进行。 如果名字在多个基类中都被找到, 则对该名字的使用将具有二义性
注:python不是这样的,python是按照父类顺序,找到一个就好
1.1 解决方法
在派生类中为该函数定义一个新版本。
eg. 为 Panda 定义一个 max_weight 函数从而解决二义性问题:
double Panda::max_weight ( ) const
return std::max (ZooAnimal::raax_weight ( ),
Endangered::max_weight ( ) );
以上是关于C++ Primer 5th笔记(chap 18 大型程序工具)多重继承下的类作用域的主要内容,如果未能解决你的问题,请参考以下文章
C++ Primer 5th笔记(chap 18 大型程序工具)noexcept
C++ Primer 5th笔记(chap 18 大型程序工具)异常处理
C++ Primer 5th笔记(chap 18 大型程序工具)捕获异常
C++ Primer 5th笔记(chap 18 大型程序工具)命名空间特性