首页 > 试题广场 >

下列哪一种情形不存在二义性?

[单选题]
下列哪一种情形不存在二义性?
  • 派生类中定义的成员函数与其基类中定义的成员同名同参
  • 在多继承关系中,两个基类定义了同名的数据成员,但一个私有的,一个公有的
  • 在多继承关系中,两个基类定义了同名的成员函数,但形参不同
  • 一个派生类有多个基类,而这些基类又有一个共同的基类,在此基类中定义了数据成员
推荐
选A。
A.如果派生类中声明了与基类成员函数同名的新函数,即使函数的参数表不同,从基类继承的同名函数的所有重载形式也都会被隐藏。子类的成员函数覆盖了父类的,不存在二义性。
B.父类的任何成员变量都是会被子类继承下去的。只是由于private不能被公开访问,所以无法被子类访问,但是实质上是已经继承的。通过get方法获取父类中的静态和private属性。
C.如果参数列表中的形参有默认形参值,则可以认为两个基类有同样名称和形式的函数,都被继承到了子类中。产生了二义性,访问他们的时候,要加上作用域才能正确地访问。
D.如果一个派生类有多个基类,而这些基类又有一个共同的基类,则在最终的派生类中会保留该间接共同基类数据成员的多份同名成员。产生了二义性。
编辑于 2019-11-27 14:13:27 回复(5)
选A,会重载的
发表于 2020-07-20 11:19:42 回复(1)
就算是private属性,也是继承点去了
发表于 2020-03-10 11:09:04 回复(0)