简答题

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

正确答案

虚基类是在声明派生类时,指定继承方式时声明的,声明虚基类的一般形式为:class派生类名:virtual继承方式 基类名若类A是类B和类C的虚基类,但不一定是类D的虚基类,原因在于“虚基类”中的“虚”不是基类本身的性质。而是派生类在继承过程中的特性。关键字virtual只是说明该派生类把基类当作虚基类继承,不能说明基类其他派生类继承基类的方式。

答案解析

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

    判断题查看答案

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

    单选题查看答案

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

    简答题查看答案

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

    单选题查看答案

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

    单选题查看答案

  • 在C#程序中,如果类B要继承类A,类B正确的定义为()。

    单选题查看答案

  • 如果派生类的继承方式是protected的,则在main()函数中,可以通过派生类对象来访问基类的公有的成员。

    判断题查看答案

  • 定义类A的含有5个元素的一维对象数组a,应该是()

    填空题查看答案

  • 当一个类A中没有声明任何成员变量与成员函数,这时sizeof(A)的值是多少,如果不是零,请解释一下编译器为什么没有让它为零。

    简答题查看答案