c++期末考试习题.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
C++是一种支持面向对象编程的混合型语言,它既包含了面向过程的编程概念,也提供了面向对象的特性。面向对象编程的核心概念包括封装、继承和多态性。 1. 封装是面向对象编程的基础,它允许我们将数据(特征)和操作数据的方法(属性)组合成一个单一的单元,称为类。类的实例称为对象。类定义了对象的状态(数据成员)和行为(成员函数)。 2. 消息传递是对象间通信的方式,一个对象通过调用另一个对象的方法(发送消息)来请求服务或获取信息。 3. 在C++中,使用`class`声明类,默认访问修饰符是`private`,这意味着类的成员在类外部默认是不可见的,除非明确声明为`public`或`protected`。 4. 函数重载允许在同一作用域内使用相同的函数名,但通过不同的参数列表(参数类型和数量)来区分不同的函数实现。 5. 构造函数是一个特殊类型的成员函数,用于在创建对象时初始化对象的状态。构造函数的名称与类名相同,没有返回类型。 6. 多重继承是指一个派生类可以从多个基类继承特性。这使得派生类可以同时具备多个基类的特性。 7. 在保护继承中,基类的公共成员在派生类中的访问属性变为保护的,意味着只能被派生类及其子类访问。 8. 访问对象的成员可以使用`.`操作符,例如`p.b`表示通过指针`p`访问其指向的对象的成员`b`。 9. 友元函数是不在类的成员函数范畴内,但能访问类的私有和保护成员的函数。在类定义中声明`friend void F()`可以让`F()`成为类的友元函数。 10. 静态成员函数属于类,而不是类的任何实例,它们不能访问非静态成员,因为它们不与特定的对象关联。 11. `<iostream>`头文件包含输入输出流对象`std::cin`和`std::cout`,是进行标准输入输出操作所必需的。 1. 关键字`const`用于声明常量,表明对象或变量初始化后不应被修改。 2. 当调用带有默认参数的函数并省略一个参数时,最后一个参数被视为缺失的参数值。 3. 静态成员函数不能访问非静态类成员,因为它们不与类的实例关联。 4. 内联函数的目的是为了优化,它们通常比标准函数执行得更快,因为它们在编译时被展开。 5. 默认参数的值在函数定义时提供。 6. C++允许混合类型表达式,比如从整型转换到浮点型或反之。 7. `long(intVar)`表达式等价于`(long)intVar`,将`intVar`转换为`long`类型。 8. 静态数据成员的生命周期与整个程序相同,不随类实例的创建和销毁而改变。 9. 使用静态数据成员可以让所有类对象共享同一份数据,而不是每个对象都有自己的副本。 10. 虚基类的目的是消除多继承下的二义性,确保只有一个基类的实例。 11. C++支持面向对象编程的同时也支持面向过程编程,如函数调用等。 12. 面向对象编程的三个主要特征是封装、继承和多态性,功能分解和逐步求精是面向过程编程的思考方式。 13. 当使用`cin>>str`读取字符串时,遇到空格、制表符或换行符会停止输入,因此`str`只包含"Microsoft"。 14. 调用`testDefaulParam(5, '#')`时,由于`#`不是默认参数的合法值,所以是非法调用。 15. 正确重载`int sum(int x, int y)`的选项是`float sum(float x, float y)`,因为参数类型不同。 16. 引用必须在声明时初始化,正确的表示引用的方法是`int &ref = a;`。
剩余13页未读,继续阅读
- 粉丝: 6867
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助