C++复习重点:谭浩强书籍试题解析

3星 · 超过75%的资源 需积分: 10 15 下载量 29 浏览量 更新于2024-08-02 收藏 179KB DOC 举报
"c++考试复习题,包括选择填空题,主要涵盖C++中的类、对象、访问控制、成员函数、构造函数和析构函数等核心概念。" C++是一种广泛使用的面向对象的编程语言,它允许程序员创建类来定义自定义的数据类型,并通过对象来操作这些类型。在C++中,类是对象的蓝图,定义了对象的属性(数据成员)和行为(成员函数)。类的访问控制是关键特性,决定了成员的可见性。默认情况下,类成员的访问特征是private,而结构体成员是public。 1. 选择题的第一题涉及类和结构体的访问控制。类成员缺省是private,结构体成员缺省是public。这意味着类的内部成员默认对类外部不可见,而结构体的成员对外部是可见的。 2. 第二题强调了访问特性可以多次使用,并非每个成员必须有访问修饰符,而且数据成员和成员函数可以是任意访问级别的。 3. 第三题指出,类可以创建多个对象,选项D错误,因为一个类可以创建任意数量的对象,而不局限于一个。 4. 第四题提到成员函数的特性,A选项正确,成员函数可以在类内或类外定义,不一定内联,可以重载,也可以设置参数的默认值。 5. 第五题考察对象和指针的声明,C选项错误,因为可以定义一个指向A类的指针并初始化为新的A类对象。 6. 对于第六题,A行定义了一个对象,B行看起来像是一个函数声明,但实际是对象定义,两行意义不同,因此C选项错误。 7. 第七题涉及到对象的初始化和赋值,A选项错误,因为不能直接将一个对象赋值给另一个对象;B选项错误,因为类名与内置类型冲突;C选项正确,可以定义指向类A的指针并用&a4初始化;D选项错误,因为类名与内置类型冲突,不能用A作为引用类型。 8. 第八题关于构造函数的特性,A、C和D选项都是正确的,B选项错误,因为构造函数可以由编译器自动生成(默认构造函数),不需要显式定义。 9. 第九题关于析构函数,C选项正确,析构函数在对象生命周期结束时由系统自动调用,用于清理资源。A、B和D选项都是错误的,析构函数不应有参数,也不能重载,且通常定义在类体内,但也可以在类外定义。 10. 最后一题关于构造函数和析构函数,A选项正确,系统会提供一个默认的构造函数,除非用户定义了其他构造函数。B选项错误,因为析构函数没有参数,也不应有参数。 总结来说,这些题目涉及C++的核心概念,包括类、对象的创建与销毁、成员访问控制、构造函数和析构函数的作用,以及成员函数的特性。这些知识对于理解和编写C++代码至关重要。