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 大型程序工具)命名空间特性

C++ Primer 5th笔记(chap 18 大型程序工具) 重载与命名空间

C++ Primer 5th笔记(chap 18 大型程序工具)构造函数与虚继承