广东海洋大学2005年第二学期C++课程期末考试题目主要考察了C++语言的基础概念和编程实践。本篇文档提供了A卷的选择题部分,涵盖了以下几个关键知识点:
1. 缺省扩展名:C++编译后的可执行文件通常使用".exe"作为扩展名,因此选项B"exe"是正确的。
2. 函数声明:选项A的函数声明有语法错误,因为没有正确的函数类型和参数。在C++中,应该是"void BC(int a, int);",即在参数类型前缺少了"void"。
3. 拷贝构造函数:拷贝构造函数用于创建新对象时对已有对象进行复制。正确形式是"AB(const AB& x)",选项C符合。
4. 结构成员访问权限:在C++中,结构体的成员默认为私有访问(private),除非显式声明为公有(public)或受保护(protected)。
5. 引用的使用:正确引用变量的声明是"int& x = m;",选项A正确,引用必须初始化,且引用类型与被引用的变量类型一致。
6. 函数嵌套:C++中函数定义和调用是可以嵌套的,选项D正确。函数的定义可以包含在其他函数内部,而调用则可以在任何地方。
7. return语句:被调用函数中可以有多个return语句,但每个return只能返回一个值,因此选项C错误。
8. 函数优化:为了提高执行速度,当函数功能简单且频繁调用时,应选择内联函数(inline function),选项A合适。
9. 类成员函数:友元函数(C)虽然可以访问类的私有成员,但它们不是类的正式成员。构造函数(A)、析构函数(B)和拷贝构造函数(D)都是类的成员函数。
10. 构造函数特性:构造函数不能设置缺省参数(D),这是错误的,构造函数允许有缺省参数。
11. 常成员函数声明:常成员函数是指没有改变对象状态的方法。正确的声明应为"void print() const;", 选项A正确,"const"表示函数不会改变对象状态。
这些题目旨在检验学生对C++语言基础知识的理解,包括数据类型、函数、对象复制、访问控制、引用以及函数优化等核心概念。