2014年C++面试题及答案精华

需积分: 0 1 下载量 166 浏览量 更新于2024-09-11 收藏 91KB DOC 举报
在C++面试题中,涵盖了一系列基础概念和编程技巧,以下是其中部分题目及其详细解答: 1. **选项分析**:C++规定main函数可以出现在程序的任何位置,只要不是在其他函数内部,A选项错误;虽然C++支持一行多条语句,但并不强制,B选项错误;C++标准库提供了输入输出操作,C选项不正确;注释不会影响编译过程,D选项错误。因此,正确答案是C,强调C++语言本身的简洁性。 2. **函数重载**:函数重载是指在同一个作用域内,函数名相同但参数列表不同(包括个数或类型),B选项描述了重载的基本原则。 3. **数组运算**:表达式`a[0][0]/a[0][1]/a[0][2]`的结果取决于数组中元素的值。因为数组元素初始化为3, 2, 1,所以`a[0][1]`为0,除法会导致除以零错误,D是正确答案。若忽略除零错误,结果是1。 4. **函数调用参数**:当数组名作为实参传递给函数时,实际上是将数组的首地址传递,A选项正确。函数接收到的是一个指针,而不是数组元素的值或个数。 5. **函数功能判断**:`fun(char*s1, char*s2)`函数中,`*s2++=*s1++`表示逐个字符从`s1`复制到`s2`,因此是字符串复制,B选项正确。 6. **虚函数与函数重载**:A选项错误,虚函数确实是类的成员;B选项正确,虚函数支持动态绑定,实现多态性;C选项错误,虚函数可以用于成员函数,非成员函数也可以通过重载实现;D选项正确,函数调用取决于函数的声明,而非对象类型。 7. **指针常量**:要禁止修改指针本身和其指向的值,需要同时限制两者,C++中`const`关键字可以做到这一点,D选项`const char*const p`符合要求。 8. **非法标识符**:标识符必须以字母或下划线开头,且不能包含数字(除了开头),C选项`4d`因为开头是数字,所以是非法的。 9. **数据类型存储**:C语言中,`double`类型的字节数通常是8,D选项正确。 10. **类和对象**:C选项错误,一个类可以创建多个对象,每个对象都是类的一个实例。 11. **类成员访问**:在类定义外部,只能访问public修饰的类成员,C选项正确。 12. **this指针**:this指针是一个隐含的指针,指向当前对象自身,通常在成员函数中使用,提供访问类的私有和保护成员的途径。 这些题目展示了面试者对C++语言基础、函数、指针、类和对象的理解程度,以及对编译原理和数据结构等概念的掌握情况。准备这类面试时,深入理解这些概念并能灵活运用是关键。