C++高级编程笔记-多重继承名称歧义

当继承多个类时,如果父类同时含有相同的函数时,会导致名称歧义问题,如下代码存在歧义错误:

为了消除歧义,可以显示地将对象向上转型,也可以使用消除歧义语法。代码如下:

当然子类的方法也可以显示地将同名的不同方法消除歧义。代码如下:

最后一种防止歧义的方法是使用using语句显示指定,在DogBird中应该继承那个版本的eat()。代码如下:

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注