假想一下,你是一个顶级汽车设计师。你的任务不是亲自拧紧每一个螺丝,而是要设计出一幅'汽车蓝图'。你在图纸上规划了车轮、车灯、V8 发动机等所需的一切,这份设计蓝图就相当于 C++ 中的'类'。它规定了汽车的属性(例如离合器)和方法(功能:换挡)。类本身不是一辆真正的汽车,只是设计规划;后续工厂按照蓝图生产出的汽车就是实例化,流水线上每一辆车都是这个蓝图的一个对象,它们都拥有蓝图定义的属性和功能。
1. 类
1.1 类的定义
类的基本思想是数据抽象和封装。数据抽象依赖于接口和实现的分离:类的接口包括用户所能执行的操作,实现则包含数据成员、负责接口的函数及私有辅助函数。封装实现了接口与实现的分离,隐藏细节后,用户只能使用指定接口而无法直接访问内部实现。
在 C++ 中通过关键字 class 定义类,通常包括类名、访问限定符、成员变量和成员函数。注意定义结束时花括号外的分号不能省略。
class ClassName {
public: // 公有成员,可直接访问
ClassName(); // 构造函数
~ClassName(); // 析构函数
void test(); // 成员函数
private: // 私有成员,仅成员函数或友元可访问
int a;
protected: // 受保护成员,派生类可访问
int b;
};
成员函数分为类内定义和类外定义。类内定义时,编译器通常隐式将其视为内联函数:
class ClassName {
public:
void setName(const std::string& name) { _name = name; }
private:
std::string _name;
};
类外定义则需在类内声明,使用作用域解析运算符 :: 在外部定义函数体:
class ClassName {
public:
void setName(const std::string& name);
private:
std::string _name;
};
{
_name = name;
}






