10分钟极速回顾 C++ 语法基础(五)
2024-02-11 04:04:17
你好,欢迎来到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
的类,它具有两个数据成员:name
和 age
,以及一个名为 greet()
的方法,用于向用户打招呼。
2. 对象的创建
一旦定义了一个类,就可以使用它来创建对象。对象是类的实例,它具有与类相同的数据成员和方法。
Person p1;
p1.name = "John";
p1.age = 25;
Person p2("Mary", 30);
在这个例子中,我们创建了两个 Person
类型的对象:p1
和 p2
。我们使用 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++编程的基础,掌握它们对于编写出健壮和可维护的代码至关重要。