C++类与对象测试题1

  1. 面向程序设计的基本特点是:抽象封装继承多态
  2. 抽象就是对同一类对象的共同属性和行为进行概括,最终形成具有共同性质的类。
  3. 在C++中,封装是用{}/花括号/大括号来实现的。
  4. 封装的目的是:增强安全性简化编程
  5. 继承是在已有类的基础之上进行扩展形成新的类。
  6. 多态是指同一名称,在程序中可以代表不同的行为,其目的是为了减少程序中标志符的个数。
  7. 类的成员包括数据成员和函数成员。在类的内部,成员之间可以相互访问。
  8. 类的成员的访问控制方式有3种,分别是public、private、protected
  9. 公有成员是类的对外接口,可以在类的外部访问,形式为对象名.成员名。
  10. 私有 成员仅可在类的内部访问,直接使用成员名即可访问,实现了对数据的保护。
  11. 保护成员可以在本类及本类的派生类中访问,在此范围之外不能访问。
  12. 类的成员函数可以在类内定义,此时该函数属于内联函数,也可以在类外进行定义,函数名之前要加以限定,形式为类名::函数名/成员函数名/成员名
  13. 构造函数的作用是初始化数据成员。
  14. 下面关于构造函数的说法正确的是:AD
      A. 函数名必须和类名相同
      B. 函数的返回值类型为void
      C. 必须有形参
      D. 函数体中没有return语句

B选项是错误的。因为构造函数没有返回值,因此在声明或定义时也不能有返回值类型,也不能标记返回值类型为void。
C选项是错误的。构造函数可以没有参数。

  1. 构造函数在创建对象的时候自动被调用,调用时如果不需要实参,这种类型的构造函数成为默认构造函数

默认构造函数就是调用时不需要实参的构造函数,包括无参的构造函数和全部参数都有默认值的构造函数。例如:
Point()
Point(int x=0,int y=0)
这两个Point类的构造函数都属于默认构造函数。

  1. 下面关于构造函数的说法正确的是:D
      A.如果不定义构造函数,则不能建立对象
      B.自己定义的构造函数一定要有参数
      C.默认构造函数一定没有参数
      D.构造函数的参数可以有默认值

A选项的错误在于,如果不定义构造函数,在建立对象时会自动调用系统提供的构造函数来完成对象的初始化。
B选项的错误在于,自定义的构造函数可以是无参的构造函数。比如:Point()就是自定义的Point类的构造函数。
C选项的错误在于,默认构造函数可以是全部参数都带有默认值的构造函数,这种情况下,它是有参数的。

  1. 初始化列表负责为新创建的一个或几个数据成员指定初始值,使用初始化列表进行初始化,比在构造函数体中用赋值语句对成员赋值的效率更
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值