习题5

一、填空题

  • C++的两种联编方式为: 静态 联编和 动态 联编。
  • C++支持两种多态性,静态联编所支持的多态性被称为 编译时的多态性 、动态联编所支持的多态性被称为 运行时的多态性
  • 重载函数在编译时表现出多态性,就是 静态 联编;而虚函数则在运行时表现出多态性是 动态 联编。
  • 为了区分重载函数,把一个派生类中重定义基类的虚函数称为 覆盖
  • 如果派生类与基类的虚函数仅仅返回类型不同,其余相同,则C++认为是 使用不恰当的虚函数
  • 在构造函数和析构函数中调用虚函数时,采用 静态 联编。
  • 纯虚函数的定义是在虚函数定义的基础上,再让函数等于 0
  • 对于包含有纯虚函数的类被称为 抽象类

二、选择题

  1. 用关键字( A )标记的函数被称为虚函数。
    A. virtual
    B. private
    C. public
    D. protected

  2. 在C++中,要实现动态联编,必须使用( D )调用虚函数
    A. 类名
    B. 派生类指针
    C. 对象名
    D. 基类指针

  3. 下列函数中,可以作为虚函数的是( BD )。
    A. 普通函数
    B. 非静态成员函数
    C. 构造函数
    D. 析构函数

  4. 在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和函数的返回值( B )。
    A. 不同
    B. 相同
    C. 相容
    D. 部分相同

  5. 使用虚函数保证了在通过一个基类类型的指针(含引用)调用一个虚函数时,C++系统对该调用进行( A ),但是,在通过一个对象访问一个虚函数时,使用( B )。
    A. 动态联编
    B. 静态联编
    C. 动态编译
    D. 静态编译

  6. 下面函数原型声明中,( B )声明的func()为纯虚函数。
    A. void func()=0;
    B. virtual void func()=0;
    C. vitual void func();
    D. virtual void func(){};

  7. 若一个类中含有纯虚函数,则该类称为( C )。A. 基类 B. 虚基类 C. 抽象类 D. 派生类

  8. 假设Myclass为抽象类,下列声明( CD )是错误的。
    A. Myclass& func(int);
    B. Myclass * pp;
    C. int func(Myclass);
    D. Myclass Obj;

  9. 下面描述中,( BD )是正确的。
    A. 虚函数是没有实现的函数
    B. 纯虚函数的实现是在派生类中定义
    C. 抽象类是只有纯虚函数的类
    D. 抽象类指针可以指向不同的派生类


三、判断题

  1. 抽象类中只能有一个纯虚数。 (
  2. 构造函数和析构函数都不能说明为虚基数。 ( ÿ
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值