没有合适的资源?快使用搜索试试~ 我知道了~
c++经典笔试题(2).docx
需积分: 1 0 下载量 33 浏览量
2023-08-01
21:08:10
上传
评论
收藏 24KB DOCX 举报
温馨提示
试读
11页
c++经典笔试题
资源推荐
资源详情
资源评论
c++经典笔试题(2)
8. 重载(overload)、重写(override,有的书也叫做“覆盖”)、重
定义(redefinition)的区别?
重载: 同一个空间名字, 允许存在多个同名函数,但是函数的
参数表不同;
覆盖: 不同空间名字,子类重新定义父类虚函数的方法;
重定义:也叫隐藏,子类与父类的函数同名,用于隐藏父类函数;
函数重载时,我们靠什么来区别重载的函数?
只能靠参数而不能靠函数的返回值来区分重载函数;
重载运算符时应该注意什么?
·不能改变 c++中内部数据类型(如 int ,char 等);
·不能重载“.”,“.”对类中任何成员有效,成为一种标准用法;
·不能用 c++中没有用到的符号;
·对已存在的符号进行重载,不能改变其优先级;
9. In C++, what does "explicit" mean? what does "protected"
mean?
【标准答案】c++中的 explicit 关键字用来修饰类的构造函数,
表明该构造函数是显式的,在某些情况下,我们要求类的使用者必须
显示调用类的构造函数时就需要使用 explicit,反之默认类型转换可能
会造成无法预期的问题。protected 控制的是一个函数对一个类的成员
(包括成员变量及成员方法)的访问权限。protected 成员只有该类的成
员函数及其派生类的成员函数可以访问。
10. 重复多次 fclose 一个打开过一次的 FILE *fp 指针会有什么结
果,并请解释。(等价于 free(p),同一个指针不能释放内存两次)
【参考答案】考察点:导致文件描述符结构中指针指向的内存被
重复释放,进而导致一些不可预期的异常
11. c++中的内联函数(inline):内联函数省去的函数调用时间是
以代码膨胀为代价的;(内联函数不能太长,也不能有循环语句)
对于一个频繁使用的短小的函数, c 中用宏定义,c++中用内联
函数;
12. c++中的虚函数与纯虚函数(virtual ):
虚函数若果继承类想要重新定义基类的方法,用 virtual 定义方
法,使用动态联编;
13. 多态类中的虚函数表是 Compile-Time,还是 Run-Time 时建
立的?
虚拟函数表是在编译期就建立了,各个虚拟函数这时被组织成了一
个虚拟函数的入口地址的数组.
而对象的隐藏成员--虚拟函数表指针是在运行期--也就是构造函数
被调用时进行初始化的,这是实现多态的关键。
构造函数不能是虚函数,只能析构函数为虚函数;如果析构函数不
是虚函数,则派生类的析构函数用不上,会导致内存泄露;
14. VC 中,编译工具条内的 Debug 与 Release 选项是什么含义?
剩余10页未读,继续阅读
资源评论
matlab@com
- 粉丝: 262
- 资源: 2330
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功