面向对象练习题带答案

选择题:

1、继承具有(    B   ),即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。

A、规律性    B、传递性   C、重复性      D、多样性

2、下列描述中哪个是正确的?   B  )。

A、私有派生的子类无法访问父类的成员

B、类A的私有派生子类的派生类C无法初始化其祖先类A对象的属性,因为类A的成员对类C是不可访问的

C、私有派生类不能作为基类派生子类

D、私有派生类的所有子孙类将无法继续继承该类的成员

3、可以用用P.a的形式访问派生类对象P的基类成员a,其中a是(   D  )。

A、私有继承的公有成员      B、公有继承的私有成员

C、公有继承的保护成员     D、公有继承的公有成员

4、在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是(    C    )。

A、派生类的对象可以赋给基类的对象        

B、派生类的对象可以初始化基类的引用

 C、派生类的对象可以直接访问基类中的成员  

D、派生类的对象的地址可以赋给指向基类的指针

5、在C++语言类体系中,不能被派生类继承的有(    B  )。

A、转换函数                B、构造函数                C、虚函数           D、静态成员函数

6、下列关于多态性的描述,错误的是(    C  )。

AC++语言的多态性分为编译时的多态性和运行时的多态性   

B、编译时的多态性可通过函数重载实现

C、运行时的多态性可通过模板和虚函数实现

D、实现运行时多态性的机制称为动态绑定

7、下列关于虚基类的描述,错误的是(   B  )。

A、设置虚基类的目的是为了消除二义性

B、虚基类的构造函数在非虚基类之后调用

C、若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用

D、若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数

8、下面关于虚函数的描述,错误的是(   B   )。

A、在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数

B、基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数

C、虚函数可以是另一个类的友元函数,但不能是静态成员函数

D、基类中说明的纯虚函数在其任何派生类中都必须实现

9、下面关于c++语言的描述错误的是(  B  )。

A、C++语言支持数据封装                         B、C++语言中引入友元没有破坏封装性

C、C++语言允许函数名和运算符重载    D、C++语言支持动态联编

10、 试题内容:对于类定义, 下面正确的叙述是(   C  )。

       class A{ 

  public:

                virtualvoid funcl(){}

                void func2(){}   };

      class B:public A

       {  public:

              void  funcl(){cout<<”class B  func 1”<<endl;}

             virtual  void func2(){cout<<”class B func  2”<<endl;} 

           }; 

A、A::func2()和B::funcl()都是虚函数          

B、A::func2()和B::funcl()都不是虚函数

C、B::funcl()是虚函数,而A::func2()不是虚函数   

D、B::funcl()不是虚函数,而A::fune2()是虚函数

填空题:

1、派生类构造函数的执行顺序是先执行(   基类   )的构造函数,再执行(   派生类  )的构造函数。

2、一个派生类同时继承多个基类,叫做(  多重继承  )。

3、继承的方式有公有继承、(   私有继承   )和(   保护继承   3种。

4、若类B是类A的私有派生类,类C是类B的公有派生类,则类C的对象(   不能     )直接访问类A的公有成员。

5、从系统实现的角度看,多态性分为两类:(静态多态性)和(动态多态性)。

判断题:

1、判断:派生类对象可以直接赋值给基类对象。(  √   

2、判断:基类对象指针可以直接赋值给派生类对象指针。(   ×   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值