类的定义
1.1 基础:说明类的格式
class Stack {
// ...
};
class 是定义类的关键字,Stack 为类名,花括号内为主体。注意类定义末尾必须加分号。主体内的变量称为成员变量(属性),函数称为成员函数(方法)。
为了区分成员变量,通常会在变量名前加特殊标识,如 _ 或 m(例如 _capacity)。这并非 C++ 强制要求,而是为了遵循不同公司的编码规范。
在 C++ 中,struct 也可以定义类,因为它兼容 C 语言的用法并进行了升级。主要区别在于 C++ 的 struct 可以定义函数,但依然推荐使用 class 来定义类。
定义在类中的函数默认为 inline(具体取决于编译器实现)。
class Stack {
public:
void Init() { /* ... */ }
void Push() { /* ... */ }
private:
int a;
int top;
int capacity;
};
int main() {
Stack s1;
Stack s2;
return 0;
}
C++ 中类与结构体高度相似,但存在明显差异:结构体名称本身不代表类型,需配合 struct 关键字或 typedef;而类可以直接使用名称作为类型。
命名规范提示
- 驼峰法:
StackInit(自定义类型/函数)、initCapacity(变量)。- Google 风格:
stack_init(函数)、init_capacity(变量)。
1.2 关键:访问限定符 (class、struct)
访问权限是实现封装的重要手段,通过控制接口暴露程度来保护数据。
public:外部可直接访问。protected/private:只能在类内部访问。目前阶段默认作用相同,一般优先使用 。


