1. 类 (Class)
类是一种用户定义的数据类型,它封装了数据和操作数据的方法。类的定义包含了成员变量(属性)和成员函数(方法)。可以将类看作是对象的蓝图或模板
#include <iostream>
using namespace std;
class Car {
public:
// 成员变量
string brand;
string model;
int year;
// 成员函数
void displayInfo() {
cout << "Brand: " << brand << endl;
cout << "Model: " << model << endl;
cout << "Year: " << year << endl;
}
};
在上面的代码中,Car
是一个类,它包含三个成员变量 brand
, model
, year
,还有一个成员函数 displayInfo()
。
2. 对象 (Object)
对象是类的实例化。类定义了对象的属性和行为,而对象是通过类的定义创建出来的实体。每个对象都有自己的属性值,但共享类定义的行为。
int main() {
// 创建对象
Car car1;
car1.brand = "Toyota";
car1.model = "Corolla";
car1.year = 2020;
// 调用对象的方法
car1.displayInfo();
return 0;
}
在这个例子中,car1
是 Car
类的一个对象,它有自己的 brand
, model
和 year
值。调用 car1.displayInfo()
会输出该对象的属性。
3. 类与对象的关系
- 类:类似于一个模板或蓝图,它描述了对象的结构和行为。
- 对象:是类的具体实例。通过类,我们可以创建多个对象,每个对象都有自己独立的属性值。
4. 构造函数和析构函数
总结:
- 构造函数:是一种特殊的成员函数,当创建对象时会自动调用,用于初始化对象。它的名字与类名相同,没有返回值。
- 析构函数:当对象的生命周期结束时,析构函数会被自动调用,用于释放资源。它的名字以
~
开头。 -
class Car { public: string brand; string model; int year; // 构造函数 Car(string b, string m, int y) { brand = b; model = m; year = y; } // 析构函数 ~Car() { cout << "Car object destroyed" << endl; } void displayInfo() { cout << "Brand: " << brand << endl; cout << "Model: " << model << endl; cout << "Year: " << year << endl; } }; int main() { Car car1("Toyota", "Corolla", 2020); car1.displayInfo(); return 0; }
在这个例子中,构造函数
Car()
用于初始化对象,而析构函数~Car()
在对象销毁时执行。5. 访问修饰符
- public: 成员变量或函数可以被外部代码访问。
- private: 成员变量或函数只能在类的内部访问。
- 类 是一种数据类型,定义了对象的属性和行为。
- 对象 是类的实例化,每个对象有自己的状态。
- 构造函数用于初始化对象,析构函数用于清理资源。
- protected: 类的成员只能在类内部或派生类中访问。