C++初阶 - 2.类和对象(上)
发布人:shili8
发布时间:2025-01-21 17:14
阅读次数:0
**C++ 初阶 -2. 类和对象 (上)**在 C++ 中,类和对象是程序设计的基本概念。理解这些概念对于编写高质量的 C++代码至关重要。
###什么是类?
类(Class)是一种定义了数据结构和行为的模板。在 C++ 中,类用于描述一个实体或一个抽象概念。类包含两个主要部分:属性(Data Members)和方法(Member Functions)。
**属性 (Data Members)**属性是类中存储数据的变量。它们可以是基本类型,如 int、char 等,也可以是自定义类型。
cppclass Person { public: string name; // 属性,用于存储个人名称};
**方法 (Member Functions)**方法是类中定义的函数,它们操作类中的属性或其他成员函数。方法可以返回值,也可以不返回任何值。
cppclass Person { public: void sayHello() { // 方法,用于输出欢迎信息 cout << "Hello, my name is " << name << endl; } };
###什么是对象?
对象(Object)是类的一个实例。每个对象都有自己的属性值和方法。
cppPerson person1; // 创建一个 Person 对象,name 属性为 "" person1.name = "John"; // 为 person1 的 name 属性赋值Person person2; // 创建另一个 Person 对象,name 属性为 "" person2.name = "Alice"; // 为 person2 的 name 属性赋值
### 类的访问控制类中定义的属性和方法可以有不同的访问控制:
* `public`:任何地方都可以访问。
* `private`:只有在同一个类中才能访问。
* `protected`:除了在同一个类中外,还能在派生类中访问。
cppclass Person { public: string name; // 公共属性private: int age; // 私有属性,只能在 Person 类中访问protected: void showAge() { // 受保护方法,仅能在 Person 类和其派生类中访问 cout << "My age is " << age << endl; } };
### 构造函数和析构函数构造函数(Constructor)用于初始化对象的属性。析构函数(Destructor)用于释放对象占用的资源。
cppclass Person { public: string name; // 构造函数,用于初始化 name 属性 Person(string n) { name = n; } // 析构函数,用于释放资源 ~Person() { cout << "Person object destroyed." << endl; } };
### 练习1. 创建一个 `Student` 类,包含 `name`、`age` 和 `grade` 属性,以及 `study()` 和 `play()` 方法。
2. 在 `Student` 类中定义一个构造函数和析构函数。
3. 使用 `Student` 类创建两个对象,并分别赋值不同的属性值。
4. 调用 `study()` 和 `play()` 方法,观察输出结果。
cppclass Student { public: string name; int age; double grade; // 构造函数 Student(string n, int a, double g) { name = n; age = a; grade = g; } // 析构函数 ~Student() { cout << "Student object destroyed." << endl; } void study() { cout << "I'm studying..." << endl; } void play() { cout << "I'm playing..." << endl; } }; int main() { Student student1("John",20,90.0); Student student2("Alice",21,95.0); student1.study(); student1.play(); student2.study(); student2.play(); return0; }
本文介绍了 C++ 中类和对象的基本概念,包括属性、方法、构造函数和析构函数。通过实例代码示例和注释,我们可以更好地理解这些概念,并在实际编程中应用它们。