嵌入式大厂面经第 8(持续更新中!)
这是一个嵌入式大厂面试题专栏,每天更新高频面试题。专栏将包含题目描述、详细解析、相关知识点扩展以及实际代码示例。内容涵盖操作系统、驱动开发、通信协议等核心领域,并结合实际项目经验进行分析。每道题目都会附带面试官可能的追问方向,帮助大家更好地准备面试!
1. struct 和 class 的区别
主要区别
- 默认访问权限不同:struct:默认为 publicclass:默认为 private
- 默认继承方式不同:struct:默认 public 继承class:默认 private 继承
- 使用习惯不同:struct:通常用于简单的数据结构class:通常用于实现完整的面向对象功能
// struct 示例 struct Point { int x; // 默认 public int y; // 默认 public void setPoint(int a, int b) { // 默认 public 方法 x = a; y = b; } }; // class 示例 class Circle { double radius; // 默认 private public: Circle(double r) : radius(r) {} double getArea() { return 3.14159 * radius * radius; } }; // 继承示例 struct DerivedStruct : Point { // 默认 public 继承 int z; }; class DerivedClass : Circle { // 默认 private 继承 // 无法访问 Circle 的 public 成员 };
2. C++ 类的访问权限
三种访问权限
- public类内外都可访问子类可继承
- protected类内可访问子类可继承类外不可访问
- private类内可访问子类不可继承类外不可访问
class Base { public: int publicVar; // 公有成员 void publicMethod() { cout << "Public method" << endl; privateMethod(); // 类内可访问私有方法 } protected: int protectedVar; // 保护成员 void protectedMethod() { cout << "Protected method" << endl; } private: int privateVar; // 私有成员 void privateMethod() { cout << "Private method" << endl; } }; // 继承与访问权限 class Derived : public Base { public: void test() {
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
嵌入式面试八股文全集 文章被收录于专栏
这是一个全面的嵌入式面试专栏。主要内容将包括:操作系统(进程管理、内存管理、文件系统等)、嵌入式系统(启动流程、驱动开发、中断管理等)、网络通信(TCP/IP协议栈、Socket编程等)、开发工具(交叉编译、调试工具等)以及实际项目经验分享。专栏将采用理论结合实践的方式,每个知识点都会附带相关的面试真题和答案解析。