嵌入式大厂面经第 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编程等)、开发工具(交叉编译、调试工具等)以及实际项目经验分享。专栏将采用理论结合实践的方式,每个知识点都会附带相关的面试真题和答案解析。