在 C++ 中,类和对象的定义涉及到许多关键字,这些关键字用于描述类的属性、行为和访问权限等。以下是常见关键字的分类和作用:
1. 访问控制关键字
关键字 | 作用 |
---|---|
private |
私有成员,只有类的内部成员函数能够访问,默认的访问权限。 |
protected |
受保护成员,类的内部成员函数和子类可以访问。 |
public |
公有成员,任何地方都可以访问。 |
代码如下
cpp
class Example {
private:
int x; // 私有成员变量
protected:
int y; // 受保护成员变量
public:
int z; // 公有成员变量
};
2. 类定义与相关的关键字
关键字 | 作用 |
---|---|
class |
定义类。 |
struct |
定义结构体,与类类似,但默认访问权限是 public 而不是 private 。 |
this |
当前对象的指针,用于引用调用成员函数的对象。 |
friend |
声明友元函数或友元类,允许它们访问类的私有和受保护成员。 |
mutable |
允许在 const 对象中修改某个数据成员。 |
3. 构造与析构相关关键字
关键字 | 作用 |
---|---|
new |
动态分配内存并返回对象指针。 |
delete |
释放动态分配的内存。 |
explicit |
防止构造函数隐式转换。 |
virtual |
声明虚函数,支持运行时多态。 |
override |
明确表示覆盖基类的虚函数。 |
final |
禁止子类重写虚函数或继承某个类。 |
4. 静态成员相关关键字
关键字 | 作用 |
---|---|
static |
声明类的静态成员,所有对象共享同一个变量。 |
5. 常量相关关键字
关键字 | 作用 |
---|---|
const |
声明常量,防止变量被修改。也用于成员函数,表示该函数不会修改对象状态。 |
constexpr |
声明编译时常量,允许在编译时求值。 |
6. 内存分配与特殊用途关键字
关键字 | 作用 |
---|---|
operator |
用于定义运算符重载。 |
typedef |
定义类型别名。 |
using |
替代 typedef 的现代语法,也用于导入命名空间。 |
inline |
提示编译器将函数定义为内联函数。 |
sizeof |
获取类型或对象的大小(单位:字节)。 |
alignof |
获取类型的对齐要求。 |
7. 模板相关关键字
关键字 | 作用 |
---|---|
template |
声明类或函数模板,用于泛型编程。 |
typename |
定义类型参数,或表示依赖类型。 |
class |
在模板中也可用来声明类型参数,与 typename 类似。 |