返回

10分钟极速回顾 C++ 语法基础(五)

后端

你好,欢迎来到C++语法基础学习的第五部分。在这一部分中,我们将继续探索C++语法中的重要概念和易错点,以便巩固你的学习成果。我们主要关注类和对象的概念。

类和对象

类是C++中用户自定义的数据类型,用于表示具有相同特性和行为的事物。它提供了数据抽象和封装的概念,允许我们将数据和操作数据的方法捆绑在一起。

1. 类的定义

class Person {
public:
  string name;
  int age;

  void greet() {
    cout << "Hello, my name is " << name << " and I am " << age << " years old." << endl;
  }
};

在这个例子中,我们定义了一个名为 Person 的类,它具有两个数据成员:nameage,以及一个名为 greet() 的方法,用于向用户打招呼。

2. 对象的创建

一旦定义了一个类,就可以使用它来创建对象。对象是类的实例,它具有与类相同的数据成员和方法。

Person p1;
p1.name = "John";
p1.age = 25;

Person p2("Mary", 30);

在这个例子中,我们创建了两个 Person 类型的对象:p1p2。我们使用 p1 的默认构造函数创建了 p1 对象,并使用 p2 的带参数构造函数创建了 p2 对象。

3. 访问类成员

我们可以使用点运算符(.) 来访问对象的成员变量和方法。

cout << p1.name << endl; // 输出 "John"
p2.greet(); // 输出 "Hello, my name is Mary and I am 30 years old."

在第一个例子中,我们访问了 p1 对象的 name 成员变量,并将其值输出到控制台。在第二个例子中,我们调用了 p2 对象的 greet() 方法,该方法向用户打招呼。

4. 类的继承

类可以从其他类继承属性和行为。这被称为类的继承。继承允许我们创建新的类,这些类具有父类的数据成员和方法,同时还可以添加新的数据成员和方法。

class Employee : public Person {
public:
  int salary;

  void work() {
    cout << "I am working." << endl;
  }
};

在这个例子中,我们定义了一个名为 Employee 的类,它继承自 Person 类。Employee 类具有 Person 类的所有数据成员和方法,同时还添加了一个新的数据成员 salary 和一个新的方法 work().

5. 多态性

多态性是面向对象编程的一个重要概念。它允许我们使用相同的接口来调用不同类型的对象的方法。这使得我们的代码更灵活和可扩展。

Person* p = new Employee();
p->greet(); // 输出 "Hello, my name is Mary and I am 30 years old."
p->work(); // 输出 "I am working."

在这个例子中,我们使用一个指向 Person 类型的指针来指向一个 Employee 类型的对象。然后,我们调用 greet()work() 方法,它们都由 Employee 类实现。因为 Employee 类继承自 Person 类,所以 p 指针也可以访问 Person 类的方法。

总结

在这部分中,我们学习了C++中的类和对象的概念。我们了解了如何定义类、创建对象、访问类成员以及类的继承和多态性。这些概念是C++编程的基础,掌握它们对于编写出健壮和可维护的代码至关重要。