嵌入式大厂面经第 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++ 类的访问权限

三种访问权限

  1. public类内外都可访问子类可继承
  2. protected类内可访问子类可继承类外不可访问
  3. 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编程等)、开发工具(交叉编译、调试工具等)以及实际项目经验分享。专栏将采用理论结合实践的方式,每个知识点都会附带相关的面试真题和答案解析。

全部评论
😱😱😱😱😱😱😱😱
点赞 回复 分享
发布于 03-26 10:12 上海
很好
点赞 回复 分享
发布于 03-25 16:03 黑龙江
点赞 回复 分享
发布于 03-25 09:07 山西

相关推荐

评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务