搜狗2016 C++笔试题:重载与多态策略分析
81 浏览量
更新于2024-09-03
收藏 96KB PDF 举报
本文档提供了搜狗2016年C++研发工程师笔试题,主要考察了面试者对C++面向对象编程基础和策略思维的理解。首先,问题1涉及了重载和多态的概念。虽然选项A认为子类的函数会覆盖父类的同名方法,但如果没有声明为虚函数,实际上会调用父类的方法,因此A选项错误。重载不仅限于子类方法,C选项错误。正确的解释是重载可以在一般函数中使用,但多态主要通过虚函数实现。第二个问题是关于策略游戏中的策略选择,当两堆硬币分别为12和13时,小明应该先从数量较多的一堆拿走一个,使得两堆硬币保持相等,这样无论对方如何操作,小明总能确保自己最后获胜,因此D选项错误,正确答案是C。
第三个问题考察了构造函数和拷贝操作的调用顺序。在给出的代码片段中,第10行`b2=func(b1);`将会执行以下操作:
1. 由于`func(b1)`返回一个`B`类型的对象,它会隐式调用`const B&`的拷贝构造函数,创建一个新的临时对象,用于存储`func`的结果。
2. 然后这个临时对象被赋值给`b2`,这会进一步触发拷贝构造函数,用于将临时对象复制到`b2`。
因此,第10行的正确答案是A,即一次默认构造函数(用于临时对象的创建),一次拷贝构造函数(用于`func(b1)`的结果赋值给`b2`),以及一次拷贝赋值运算符`operator=`(用于将临时对象的值赋给`b2`)。
整个题目旨在测试应聘者的C++语言基础、逻辑推理能力和对内存管理的理解,特别是对于面向对象编程的深入理解。解答这些问题需要具备扎实的编程功底和实践经验。
2021-11-24 上传
点击了解资源详情
点击了解资源详情
2023-05-29 上传
2023-05-12 上传
2023-08-18 上传
2023-12-23 上传
2023-10-02 上传
2023-05-20 上传
weixin_38516190
- 粉丝: 8
- 资源: 896
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展