C++考试题库及答案.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
【知识点详解】 1. **字符判断**:在C++中,判断`char`型变量是否为小写字母的正确表达式通常使用逻辑运算符`&&`(与)和`||`(或)。正确的方式是`(cl >= 'a') && (cl <= 'z')`,因为ASCII码中,小写字母'a'到'z'的顺序是连续的。 2. **构造函数调用**:`MyClass a(2), b[5], *c[4]`这条语句中,`a`是一个对象,调用一次构造函数;`b`是一个数组,包含5个对象,因此调用5次构造函数;`c`是一个指针数组,不直接创建对象,所以不调用构造函数。所以总共调用构造函数的次数是6次。 3. **字符串指针**:`char *s1="hello", *s2; s2 = s1;`这里`s2`被赋值为`s1`的副本,即它们都指向同一字符串常量。不会改变`s1`的指向,且可以访问"hello",但不能修改。 4. **指针和成员赋值**:给类A的数据成员m赋值5,正确的方法是通过成员运算符`.`来访问,即`A1.*p=5;`。 5. **C++异常处理**:C++的异常处理包括`try`、`throw`和`catch`,不包括`finally`。`finally`是其他一些编程语言中用于确保代码块在异常发生时也会被执行的结构。 6. **多态性**:多态性指的是不同的对象能够对同名函数做出不同的响应,这在C++中主要通过虚函数实现。 7. **new运算符**:`new`可以动态创建对象和数组,但不一定要指定初始值。创建对象时会调用构造函数,创建的对象可以用`delete`删除。 8. **值传递**:在C++中,函数参数传递时,实参和形参各自占用独立的存储单元。 9. **继承与访问权限**:在C++类体系中,虚函数是可以被派生类继承的。友元函数、析构函数和构造函数不是继承的一部分。 10. **重载运算符**:重载运算符`>>`通常是用于输入的友元函数,如iostream库中的操作。 11. **纯虚函数**:纯虚函数是在基类中声明的,要求派生类必须提供实现的函数。 12. **重载函数要求**:重载函数要求至少有一个参数的类型、个数或顺序不同,返回值不同不是必要的条件。 13. **可重载运算符**:`new`、`delete`、`+=`等可以被重载,但`sizeof`、`::`、`? :`、`->*`等不能。 14. **友元函数重载运算符**:友元函数可以重载`()`、`[]`和`=`, 但不能重载`>>`。 15. **不可重载运算符**:`new`、`delete`、`++`、`+`等可以作为类成员函数重载,但`::`、`sizeof`、`? :`、`->*`等不能。 16. **拷贝构造函数**:类MyA的拷贝构造函数的声明通常是`MyA(const MyA &)`。 17. **cin输入非数字**:当用`cin`为整型变量输入非数字时,结果是不确定的,可能引发未定义的行为。 18. **数组下标**:在C++中,数组下标必须是整型常量或整型表达式。 19. **类模板**:类模板可以生成一系列类,其中的数据成员可以取任意类型。但类模板本身不是对象,不能直接实例化。 20. **变量作用域**:不同函数可以有同名变量,函数内部的局部变量只在该函数内部有效,主函数`main`中的变量只在其定义的作用域内有效。 21. **构造函数调用顺序**:当创建包含有类对象成员的派生类对象时,构造函数的调用顺序是基类的构造函数先于派生类的构造函数,并按照成员在内存中的排列顺序进行。
剩余28页未读,继续阅读
- 粉丝: 6874
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助