继承:面试官问“移动机器人和差速机器人怎么设计类”,我这样答

发布时间:2026/7/14 5:06:53

继承:面试官问“移动机器人和差速机器人怎么设计类”,我这样答
上篇聊了拷贝构造和赋值的坑,今天进入面向对象的第二个特性——继承。继承在面试里出现的频率很高,但很多人对它的理解停留在"子类继承父类的属性和方法"这个层面。面试官如果追问"继承的底层怎么实现的""菱形继承怎么解决",很多人就答不上来了。讲个面试场景。面试官说:"假设你要设计一个机器人系统,有移动机器人、差速机器人、全向机器人,你怎么用继承来组织类?"大部分人会这样答:class MobileRobot { }; class DiffDriveRobot : public MobileRobot { }; class OmniDriveRobot : public MobileRobot { };方向是对的,但面试官想听到的不只是这个。他想知道你对继承的理解有多深——构造析构的顺序、虚函数的使用、菱形继承的问题。今天把继承掰开了讲清楚。继承的基本语法C++的继承用冒号语法:class MobileRobot { protected: double x_, y_; // 位置 double heading_; // 朝向 double max_speed_; // 最大速度 public: MobileRobot(double x, double y, double heading) : x_(x), y_(y), heading_(heading), max_speed_(1.0) {} void moveTo(double x, double y)

相关新闻

OpenCV CascadeClassifier人脸检测实战与调优指南

OpenCV CascadeClassifier人脸检测实战与调优指南

2026/7/14 4:56:53

1. 项目概述:当OpenCV遇上CascadeClassifier在计算机视觉领域,人脸检测一直是最基础也最实用的技术之一。作为一名长期使用OpenCV进行图像处理的开发者,我发现cv2.CascadeClassifier这个看似简单的工具,在实际项目中往往能发挥意想…

从M.2到E1.S,从U.2到E3.S:数据中心SSD接口的世代更迭与选择逻辑

从M.2到E1.S,从U.2到E3.S:数据中心SSD接口的世代更迭与选择逻辑

2026/7/14 4:56:53

1. 数据中心SSD接口的演进背景十年前的数据中心还在普遍使用SATA接口的SSD,那时候的存储性能瓶颈往往出现在接口带宽上。随着PCIe技术的普及,NVMe协议的出现彻底改变了这一局面。我清楚地记得2015年第一次测试NVMe SSD时的震撼——顺序读写性能直接从SAT…

Spark环境配置四层契约:JVM/Python/Hadoop/本地层协同指南

Spark环境配置四层契约:JVM/Python/Hadoop/本地层协同指南

2026/7/14 4:56:53

1. 项目概述:为什么 Spark 环境搭建不是“装个包就完事”的事 你搜到“How to set up your environment for Spark”这个标题,大概率正站在两个路口:要么是刚学完 Scala 或 Python,想跑通第一个 spark-submit 却卡在 ClassNot…

kspack-rust在微服务架构中的应用:分布式系统中的数据交换指南

kspack-rust在微服务架构中的应用:分布式系统中的数据交换指南

2026/7/14 7:36:58

kspack-rust在微服务架构中的应用:分布式系统中的数据交换指南 【免费下载链接】kspack-rust The components for structure data encode and decode with Rust 项目地址: https://gitcode.com/openeuler/kspack-rust 前往项目官网免费下载:https…

NBM5100A与STM32F205RB优化便携设备电源管理方案

NBM5100A与STM32F205RB优化便携设备电源管理方案

2026/7/14 7:36:58

1. 项目背景与核心挑战在便携式电子设备设计中,电池寿命和瞬时大电流供给能力一直是工程师面临的两大核心矛盾。传统方案中,设备遇到脉冲负载时(如无线模块发射信号、电机启动等场景),电池直接承受峰值电流冲击&#x…

AI导游技术:核心模块与文旅数字化转型实践

AI导游技术:核心模块与文旅数字化转型实践

2026/7/14 7:36:58

1. AI导游技术框架概述在文旅行业数字化转型浪潮中,AI导游技术正重塑游客体验方式。不同于传统导游服务受限于人力成本和服务标准化程度,AI导游系统通过自然语言处理、知识图谱和增强现实等核心技术,实现24小时不间断的个性化服务。2024年杭州…

vs2qt的5个核心功能解析:从VCXPROJ到Qt Pro文件的智能转换

vs2qt的5个核心功能解析:从VCXPROJ到Qt Pro文件的智能转换

2026/7/14 7:36:58

vs2qt的5个核心功能解析:从VCXPROJ到Qt Pro文件的智能转换 【免费下载链接】vs2qt vs trans to qt and so on. 项目地址: https://gitcode.com/openeuler/vs2qt 前往项目官网免费下载:https://ar.openeuler.org/ar/ vs2qt是一款由北京麟卓开发的…

英雄联盟战绩查询神器:Seraphine 5分钟快速上手指南

英雄联盟战绩查询神器:Seraphine 5分钟快速上手指南

2026/7/14 7:36:58

英雄联盟战绩查询神器:Seraphine 5分钟快速上手指南 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine 还在为BP阶段不了解队友实力而烦恼吗?是否希望在游戏前就能洞察对手的英雄池和胜率…

XStream CVE-2021-21351反序列化漏洞:从原理到实战复现与防御

XStream CVE-2021-21351反序列化漏洞:从原理到实战复现与防御

2026/7/14 7:26:58

1. 项目概述:一次对XStream反序列化漏洞的深度“解剖”最近在复盘一些经典的Java反序列化漏洞案例,XStream的CVE-2021-21351是一个绕不开的典型。这个漏洞的特别之处在于,它不像很多需要复杂利用链的漏洞,其触发点非常直接&#x…

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

2026/7/13 7:41:16

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator作为Unity游戏社区中最成熟的文本翻译解决方…

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

2026/7/13 20:43:19

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持 【免费下载链接】raspberrypi-kernel It provides openEuler kernel source for Raspberry Pi 项目地址: https://gitcode.com/openeuler/raspberrypi-kernel 前往项目官网免费下载&…

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

2026/7/13 20:43:10

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧 【免费下载链接】integration-test The repo contains test suits for system integration test 项目地址: https://gitcode.com/openeuler/integration-test 前往项目官网免费下载:…

XUnity.AutoTranslator 游戏实时翻译插件:从原理到实战的完整指南

XUnity.AutoTranslator 游戏实时翻译插件:从原理到实战的完整指南

2026/7/14 0:06:37

1. 项目概述:当游戏语言成为一堵墙作为一名玩了十几年日系、欧美独立游戏的“老油条”,我太懂那种面对一款心仪已久、画风玩法都戳中G点的游戏,却因为语言不通而望而却步的痛了。尤其是那些基于Unity引擎开发的、体量不大但内容精良的作品&am…

2026普通文员学数据分析的价值

2026普通文员学数据分析的价值

2026/7/14 0:06:37

一、2026年普通文员学习数据分析的必要性随着数字化转型加速,数据分析技能正逐渐成为职场基础能力。普通文员学习数据分析可以提升工作效率、增强竞争力,并为职业转型提供更多可能性。二、数据分析对文员的价值自动化办公:通过数据分析工具&a…

2026从计划员到主管,生产管理者学数据分析有用吗?

2026从计划员到主管,生产管理者学数据分析有用吗?

2026/7/14 0:06:37

一、生产管理领域的职业发展路径 从计划员到主管的角色转变,是生产管理者职业发展的典型路径。计划员主要负责生产排程、库存管理和资源协调等基础工作,而主管则需要承担团队管理、决策支持和效率优化等更高级别的职责。这种转变不仅仅是职位的提升&…