想象一下,你是一位顶级汽车设计师。你的任务不是亲自拧紧每一个螺丝,而是绘制一份详尽的'汽车蓝图'。图纸上规定了车轮、车灯、V8 发动机等所有组件,这份蓝图就是 C++ 中的'类'。它定义了汽车的属性(如离合器)和方法(如换挡),但它本身不是一辆真车。工厂按照蓝图生产出的实体才是对象,这个过程叫实例化。
1. 类的定义
类的核心思想是数据抽象和封装。数据抽象意味着接口与实现分离:用户只关心能做什么(接口),无需知道怎么做(实现)。封装则隐藏了内部细节,外部只能通过指定接口访问。
在 C++ 中,使用 class 关键字定义类。一个完整的类通常包含类名、访问限定符、成员变量和成员函数。注意,类定义结束后的分号不能省略,这是新手常犯的错误。
class ClassName {
public:
// 公有成员,可直接访问
ClassName(); // 构造函数
~ClassName(); // 析构函数
void test(); // 成员函数
private:
// 私有成员,仅类内或友元可访问
int a;
protected:
// 受保护成员,派生类可访问
int b;
};
1.1 成员函数的定义
成员函数可以在类内直接定义,也可以声明后在类外定义。
类内定义:编译器通常会将其隐式处理为内联函数,适合短小逻辑。
class Date {
public:
void Init(int year, int month, int day) {
_year = year;
_month = month;
_day = day;
}
private:
int _year;
int _month;
int _day;
};
类外定义:需要在类内声明,类外使用作用域解析运算符 :: 定义。
class Date {
:
;
:
_year;
_month;
_day;
};
{
_year = year;
_month = month;
_day = day;
}






