C++期末考试重点:对象与类,运算符重载解析

需积分: 10 5 下载量 76 浏览量 更新于2024-09-14 收藏 103KB DOC 举报
"C++期末练习附加答案包含了选择题和相关编程概念,主要涉及类与对象、C++表达式、const修饰符、运算符重载、类对象的定义、成员函数类型以及继承等知识点。" 1. **类与对象的区别**:类是对象的蓝图,它定义了对象的属性和行为,而对象是类的具体实例,分配存储空间以存储数据成员。选项D正确。 2. **C++表达式**:选项C,`count+=b`是正确的,表示将`count`的值增加`b`的值。 3. **const修饰符**:常对象可以调用常成员函数,但不能修改其数据成员;常成员函数可以被常对象或非常对象调用;const可以修饰对象、成员函数和数据成员。选项A和B是错误的,选项C正确;选项D描述的是常对象的特性。 4. **表达式计算**:`y*=x+y`,首先执行`x+y`得到10,然后乘以`y`(初始值为5),得到50,所以选项A正确。 5. **运算符重载**:C++中不能创建新的运算符,只能重载已有的;赋值运算符通常重载为成员函数,以保证左操作数的安全性;成员函数重载运算符时,第一操作数通常是类对象;选项A错误。 6. **类对象的个数**:`c1`定义了一个对象,`*c2`是未初始化的指针,`*c3`通过new创建了一个对象,`c4`是对`c1`的引用,所以总共定义了2个对象,选项B正确。 7. **成员函数**:友元函数不是类的成员,选项C正确。 8. **C++类的特性**:通过对象可以访问公有成员,选项A正确;成员函数可以有唯一的访问控制属性,选项B正确;用数据成员描述对象属性,成员函数描述行为,选项C正确;构造函数和析构函数虽然特殊,但可以重载,选项D错误。 9. **继承与数据成员**:`B2`类继承自`B1`,并且有额外的数据成员`db2`,所以`B2`类的对象包含3个数据成员,选项C正确。 10. **this指针**:隐含的`this`指针在成员函数中使用,指向调用该成员函数的对象。`fun1()`是全局函数,不含有`this`指针;`Test`类的`fun2()`成员函数具有隐含的`this`指针。 以上知识点涵盖了C++中的基础概念,包括类与对象的关系、表达式语法、const关键字的应用、运算符重载、对象的创建与计数、成员函数类型、继承以及this指针的使用。这些都是学习C++编程时需要掌握的核心内容。