简答题

什么叫做虚基类?有何作用?

正确答案

当某类的部分或全部直接基类是从另一个基类派生而来,这些直接基类中,从上一级基类继承来的成员就拥有相同的名称,派生类的对象的这些同名成员在内存中同时拥有多个拷贝,我们可以使用作用域分辨符来唯一标识并分别访问它们。我们也可以将直接基类的共同基类设置为虚基类,这时从不同的路径继承过来的该类成员在内存中只拥有一个拷贝,这样就解决了同名成员的唯一标识问题。
虚基类的声明是在派生类的定义过程,其语法格式为:
C.lass 派生类名:virtual 继承方式 基类名
上述语句声明基类为派生类的虚基类,在多继承情况下,虚基类关键字的作用范围和继承方式关键字相同,只对紧跟其后的基类起作用。声明了虚基类之后,虚基类的成员在进一步派生过程中,和派生类一起维护一个内存数据拷贝。

答案解析

相似试题
  • “虚基类”是通过什么方式定义的?如果类A有派生类B、C,类A是类B虚基类,那它也一定是类C的虚基类吗?为什么?

    简答题查看答案

  • 带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化()。

    单选题查看答案

  • 设置虚基类的目的是()。

    单选题查看答案

  • 下列虚基类的声明中,正确的是()。

    单选题查看答案

  • 虚基类是用来解决多继承中公共基类在派生类中只产生一个基类子对象的问题。

    判断题查看答案

  • 什么叫做静态函数成员?它有何特点?

    简答题查看答案

  • 什么叫做静态数据成员?它有何特点?

    简答题查看答案

  • 什么叫做指针?指针中储存的地址和这个地址中的值有何区别?

    简答题查看答案

  • 什么叫做α通道?它的作用是什么?

    简答题查看答案