【c++深度解析9】父子间的冲突

问题一: 子类是否可以定义父类中的同名成员?如果可以,如何区分?如果不可以,为什么?

答:1。子类可以定义父类中的同名成员。

       2.子类中的成员将隐藏父类中的同名成员。

      3. 父类中的同名成员依然存在于子类中

      4. 通过作用域分辨符(::) 访问父类中的同名成员 

问题二: 子类中定义的函数,是否能重载父类中的同名函数?

答:我们首先回忆重载的概念:
  1.函数重载发生在同一个作用域。重载函数的本质为多个不同的函数

   2. 函数名和参数列表是唯一的标识

子类中定义的函数存在一个命名空间问题,不在同一个作用域中,故子类中定义的函数不能重载父类中的同名函数

子类中的函数将隐藏父类的同名函数,可以使用作用域分辨符访问父类中的同名函数,子类可以定义父类完全相同的成员函数。

猜你喜欢

转载自blog.csdn.net/lvmengzou/article/details/86764413