1. 类的定义
1.1 类定义格式
class 为定义类的关键字,Stack 为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。
C++ 中 struct 也可以定义类,C++ 兼容 C 中 struct 的用法,同时 struct 升级成了类,明显的变化是 struct 中可以定义函数,一般情况下我们还是推荐用 class 定义类。
定义类的成员函数默认为 inline。
class 默认为 private,struct 默认为 public。
为了区分成员变量,一般习惯上成员变量会加一个特殊标识,如成员变量前面或者后面加_或者 m 开头,注意 C++ 中这个并不是强制的,只是一些惯例。需要注意的是,在 C++ 中,会兼容 C 语言的用法,所以,也可以在 C++ 中使用 C 语言中定义结构的方法,但是,一般情况下,我们是不会采用这样的方法的。
例如:
#include <iostream>
#include <cassert>
#include <cstdlib>
#include <cstdio>
using namespace std;
class Stack {
public:
// 成员函数
void Init(int n = 4) {
array = (int*)malloc(sizeof(int) * n);
if (nullptr == array) {
perror("malloc 申请空间失败");
return;
}
capacity = n;
top = 0;
}
void Push(int x) {
array[top++] = x;
}
int top {
(top > );
array[top - ];
}
{
(array);
array = ;
top = capacity = ;
}
* array;
capacity;
top;
};
{
Stack st1;
st();
st();
st();
st();
cout << st() << endl;
;
}


