上篇聊了static的四种用法,今天进入面向对象的世界。类与对象,是C++最核心的特性,没有之一。面试的时候,几乎每一轮都会涉及到。讲个真实的面试场景。去年面试一个应届生,简历上写着"熟悉面向对象编程"。我问:"什么是类?什么是对象?"他说:"类是模板,对象是实例。"我说:"能具体点吗?用你做过的项目举个例子。"他想了半天,说:"比如学生管理系统里,Student是类,张三李四是对象。"教科书式的回答,但太教科书了。我追问:"你在机器人项目里,是怎么设计类的?"他愣了一下,说:"我没怎么设计过,一般都用现成的。"讲真,这个回答让我有点失望。面向对象不是背概念,是要能在项目里用起来的。今天我就用机器人传感器的例子,把类与对象讲透。先搞清楚:类和对象到底是什么关系类是什么?类是对一类事物的抽象描述。它定义了这类事物有什么属性(数据)和什么行为(方法)。对象是什么?对象是类的具体实例。每个对象有自己的数据,但共享同一套方法。用机器人的传感器来理解最直观。假设你有一个激光雷达传感器。它有什么属性?测量距离、角度范围、分辨率。它有什么行为?开始扫描、停止扫描、获取数据。把这些抽象出来,就是一个类:class LidarSensor { // 属性(成员变量) double max_range_; // 最大测量距离 double angle_range_; // 角度范围 double res