清华大学计算机C++考试题详解与要点

需积分: 17 17 下载量 25 浏览量 更新于2024-10-28 收藏 38KB DOC 举报
本资源是一份清华大学计算机系的C++考试题目和部分答案,主要涉及了C++编程语言的基础概念和原则。以下是主要内容概要: 1. 函数参数传递:C++中提供了两种参数传递方式,即值传递和地址或指针或引用传递。值传递意味着函数接收的是参数的副本,而地址或指针传递则是直接操作原始变量,引用传递则像指针一样处理,但避免了复制开销。 2. 成员函数与this指针:在C++中,成员函数在被调用时,会有一个隐含的this指针,它始终指向调用它的对象实例,这使得函数可以访问和操作所属对象的成员变量。 3. 封装与继承特性:面向对象设计的核心特性包括抽象(提供接口不暴露实现)、封装(隐藏数据细节)、继承(派生类继承基类属性和行为)以及多态(同一个接口可以有不同的实现)。对于数据成员访问,如果无明确作用域,可能引发命名冲突。 4. 拷贝构造函数与构造函数:拷贝构造函数用于创建新对象时初始化其他对象,通常使用引用。构造函数则是创建新对象时执行的初始化过程,可以有默认参数和虚函数特性。 5. 动态内存管理:使用new运算符分配的对象需要配合无参数或缺省参数的构造函数,否则会导致编译错误。静态数据成员共享同一份实例,可在类外部初始化。 6. 条件语句与逻辑运算:C++的if...else结构遵循就近配对规则,避免语法混淆。表达式中的逻辑运算符如`||`用于组合多个条件。 7. 面向对象特性详解:重载函数要求参数不同或类型不同,覆盖(重写)是指在派生类中提供与基类同名函数的替换。构造函数和析构函数的定义形式差异明显,如构造函数的名称与类名相同,析构函数则带`~`符号,无参数且可为虚函数。 8. 虚函数与动态绑定:动态联编需要满足虚函数定义和通过指针或引用来调用。抽象类仅能被继承,至少包含一个纯虚函数,表示不能实例化。 9. const关键字的应用:const关键字可用于声明常量对象和常量成员函数,前者不可修改,后者则保证不修改类的成员。 10. 字符串处理:C++中没有内置的字符串类型,使用字符数组表示,每个字符串以`\0`结束。字符串常量通常是不可变的。 这份文档提供了丰富的C++基础理论和实践知识,适合学习者复习和巩固C++编程技能。