C++期末考试复习题(理工).pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
【C++期末考试复习知识点】 1. **函数原型**:函数原型在C++中用于声明函数的返回类型、参数个数以及参数类型,但不包括函数的功能描述。选项D指出函数原型不能标识函数的功能,这是正确的,因为函数功能通常通过函数名称和注释来描述。 2. **对象通信**:在C++程序中,对象之间的通信主要是通过调用成员函数来实现的。选项B是正确的,其他选项如继承、封装和函数重载不是直接的通信方式,而是实现面向对象特性的方式。 3. **析构函数**:每个类最多只能有一个析构函数。选项B正确,析构函数没有返回类型,且默认是唯一的。 4. **友元关系**:友元关系可以是类与类之间的,也可以是类的成员函数与另一个类的关系,但友元关系不被继承。选项A正确,友元关系不能被继承。 5. **ofstream流对象**:语句`ofstream f(″″,ios::app|ios::binary)`创建了一个流对象f,并尝试打开一个文件,如果文件存在,写指针定位到文件末尾;如果文件不存在,会创建新文件。选项A描述了这一行为。 6. **内联函数**:内联函数是在编译时展开的,它的目标代码被插入到每个调用该函数的地方。选项B正确,内联函数通常在类体内定义,但也可以通过`inline`关键字在类体外定义。 7. **派生类与基类关系**:在公有派生情况下,派生类对象的地址可以赋给指向基类的指针,派生类对象可以初始化基类的引用,但派生类对象不能直接访问基类的私有和保护成员。选项C不正确,因为派生类对象不能直接访问基类的所有成员。 8. **虚函数**:在类定义中,使用`virtual`关键字声明的函数是虚函数,这允许动态绑定。选项C正确,`B::func1`是虚函数,而`A::func2`不是。 9. **构造函数**:定义类的动态对象数组时,系统会自动调用无参构造函数进行初始化。选项“无参”正确。 10. **继承方式**:建立继承关系倒挂的树通常使用单继承,以避免复杂性。选项“单”正确。 11. **换行符**:`cout<<endl`等价于`cout<<`\n``,用于在输出流中添加换行符。 12. **访问控制**:基类的公有成员在派生类中的访问权限由派生类的访问控制决定,可能是公有、保护或私有,取决于派生方式。 13. **多态性**:C++支持两种多态性:编译时的多态性,主要通过操作重载实现;运行时的多态性,通过虚函数实现。 14. **const指针**:`const char * const p=″hello″`定义的指针p本身是常量,不能改变,其所指的内容也是常量,不能被重新赋值。 15. **拷贝构造函数**:`AB(AB&x)`是拷贝构造函数的原型,用于创建一个新对象作为已存在对象的副本。 16. **const修饰this指针**:将`const`放在成员函数的函数头和函数体之间,修饰的是`this`指针,表明该函数不会修改对象的状态。 17. **成员访问运算符**:在C++中,`.`运算符用于访问对象的成员,`->`运算符用于访问指针所指向的对象的成员。 18. **派生类与基类**:派生类可以从一个或多个基类派生,继承基类的成员。 19. **派生类访问基类成员**:派生类对象可以访问基类中的公有继承的公有成员,这是C++面向对象编程中的基本概念。 20. **析构函数注意事项**:析构函数的名称与类名相同,前面加波浪线`~`,返回类型默认为`void`,不接受任何参数,且不能被重载。选项C指出不应在析构函数中使用`delete`语句,这是正确的,因为`delete`通常用于释放动态分配的内存,而在析构函数中,系统会自动处理对象占用的资源。 以上内容涵盖了C++中的函数原型、对象通信、析构函数、友元、文件操作、内联函数、派生类与基类的关系、虚函数、构造函数、多态性、const修饰、成员访问运算符等相关知识点,这些都是C++编程的基础,对于理解和编写C++程序至关重要。
- 粉丝: 6746
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助