当前位置:实例文章 » 其他实例» [文章]C++第三讲

C++第三讲

发布人:shili8 发布时间:2025-01-24 14:19 阅读次数:0

**C++ 第三讲: 类、对象和继承**

在前两讲中,我们已经学习了 C++ 的基本语法和数据类型。今天我们将继续讨论更高级的主题:类、对象和继承。

###1. 类和对象在面向对象编程中,类是用来描述一个事物或概念的模板,而对象则是根据这个模板创建出来的具体实例。例如,我们可以定义一个 `Person` 类来描述一个人,这个类包含了人的基本属性,如姓名、年龄、性别等。

cppclass Person {
public:
 string name;
 int age;
 char sex;

 // 构造函数 Person(string n, int a, char s) {
 name = n;
 age = a;
 sex = s;
 }

 // 方法 void displayInfo() {
 cout << "姓名:" << name << endl;
 cout << "年龄:" << age << endl;
 cout << "性别:" << sex << endl;
 }
};


在这个例子中,我们定义了一个 `Person` 类,它包含三个成员变量:`name`、`age` 和 `sex`。我们还定义了一个构造函数来初始化这些成员变量,以及一个 `displayInfo()` 方法来输出个人信息。

###2. 对象的创建和使用要使用这个类,我们需要创建一个对象,然后调用它的方法。例如:

cppint main() {
 // 创建一个 Person 对象 Person p("张三",25, '男');

 // 调用 displayInfo 方法 p.displayInfo();

 return0;
}


在这个例子中,我们创建了一个 `Person` 对象 `p`,并调用它的 `displayInfo()` 方法来输出个人信息。

###3. 继承继承是面向对象编程的一个重要特性,它允许我们定义一个新类基于已有的类。例如,我们可以定义一个 `Student` 类基于 `Person` 类:

cppclass Student : public Person {
public:
 string major;

 // 构造函数 Student(string n, int a, char s, string m) : Person(n, a, s) {
 major = m;
 }

 // 方法 void displayInfo() {
 cout << "姓名:" << name << endl;
 cout << "年龄:" << age << endl;
 cout << "性别:" << sex << endl;
 cout << "专业:" << major << endl;
 }
};


在这个例子中,我们定义了一个 `Student` 类,它继承自 `Person` 类。我们还定义了一个构造函数来初始化 `major` 成员变量,以及一个 `displayInfo()` 方法来输出学生信息。

###4. 多态性多态性是面向对象编程的一个重要特性,它允许我们在不同类型的对象上调用相同的方法。例如,我们可以定义一个 `Shape` 类,并让它有不同的子类,如 `Circle`、`Rectangle` 等:

cppclass Shape {
public:
 virtual void display() =0;
};

class Circle : public Shape {
public:
 void display() {
 cout << "这是一个圆形" << endl;
 }
};

class Rectangle : public Shape {
public:
 void display() {
 cout << "这是一个矩形" << endl;
 }
};


在这个例子中,我们定义了一个 `Shape` 类,并让它有不同的子类,如 `Circle` 和 `Rectangle`。我们还定义了一个 `display()` 方法,它可以被不同类型的对象调用。

###5. 总结本讲我们学习了 C++ 的类、对象和继承等高级特性。我们了解了如何定义类、创建对象、使用方法以及实现继承和多态性。这些知识将有助于我们更好地理解面向对象编程的原理和实践。

###6. 练习1. 定义一个 `Book` 类,它包含 `title`、`author` 和 `price` 等成员变量。
2. 创建一个 `Book` 对象,并调用它的方法来输出书籍信息。
3. 定义一个 `Student` 类,它继承自 `Person` 类,并添加 `major` 成员变量。
4. 实现多态性,定义一个 `Shape` 类,并让它有不同的子类,如 `Circle`、`Rectangle` 等。

###7. 参考* 《C++ Primer》第五版* 《Effective C++》第二版* 《Modern C++ Design》第一版

相关标签:算法c++开发语言
其他信息

其他资源

Top