什么是二义性 多重继承在什么时候会出现二义性问题?
浏览量:2118
时间:2021-03-11 07:47:45
作者:admin
多重继承在什么时候会出现二义性问题?
在多重继承中,指向派生类的指针或引用可以转换为指向其任何基类的指针或引用。因此,这种转换更容易遇到歧义。
解决这种歧义的方法是指定要使用的类的版本(即,以类名为前缀)。但最好的方法是在派生类中定义函数的版本,以解决歧义。
Java为什么不能继承多个父类?
Java支持单个继承和多个实现。
如果支持多重继承,则意味着一个子类可以同时从多个父类继承,因此它具有多个父类的特性。如果子类继承的父类具有相同的成员变量,则子类在引用该变量时将无法确定要使用哪个父类的成员变量。因此,多重继承是有争议的,不能多重继承。
一般来说,一个人不能有一个以上的父亲或母亲。
设置虚基类的目的?
其目的是消除歧义。
当多个继承路径上存在公共基类时,在多个路径的汇合处,公共基类将生成多个实例(或多个副本)。如果只想保存基类的一个实例,可以将公共基类描述为虚拟基类。
虚拟基类的基本原则是在内存中只有其成员的一个副本。这样,通过将基类继承声明为虚继承,只能继承基类的一个副本,从而消除了歧义。使用虚拟限定符将基类继承描述为虚拟的。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。