C++第六讲
发布人:shili8
发布时间:2025-02-10 23:20
阅读次数:0
**C++ 第六讲: 类和对象**
在前面的几讲中,我们已经学习了 C++ 的基本语法、变量、数据类型、运算符等概念。今天我们要讨论的主题是类和对象,这是面向对象编程(OOP)的核心概念。
**什么是类和对象?**
在 OOP 中,类是一种模板或蓝图,它定义了一个实体的属性和行为。类可以看作是一个设计模式,描述了一个具体事物的特征和功能。对象则是根据类创建出来的具体实例,每个对象都有自己的属性和行为。
**类的定义**
在 C++ 中,我们使用 `class` 关键字来定义一个类。下面是一个简单的例子:
cppclass Person { public: string name; int age; void sayHello() { cout << "Hello, my name is " << name << " and I'm " << age << " years old." << endl; } };
在这个例子中,我们定义了一个 `Person` 类,它有两个属性:`name` 和 `age`,以及一个方法 `sayHello()`。
**对象的创建**
要使用类,我们需要创建一个对象。下面是如何创建一个 `Person` 对象:
cppint main() { Person person; person.name = "John"; person.age =30; person.sayHello(); return0; }
在这个例子中,我们首先定义了一个 `person` 变量,它是 `Person` 类的一个对象。然后我们给 `name` 和 `age` 属性赋值,并调用 `sayHello()` 方法。
**类的成员**
类可以有多种类型的成员,包括:
* **属性(data member)**:类的数据成员,如 `name` 和 `age`。
* **方法(member function)**:类的函数成员,如 `sayHello()`。
* **构造函数**:用于初始化对象的特殊函数。
* **析构函数**:用于释放资源的特殊函数。
**继承**
继承是 OOP 的另一个重要概念。它允许我们创建一个新类,继承已有的类的属性和行为。下面是一个例子:
cppclass Animal { public: string name; int age; void eat() { cout << "I'm eating." << endl; } }; class Dog : public Animal { public: void bark() { cout << "Woof woof!" << endl; } };
在这个例子中,我们定义了一个 `Animal` 类,它有两个属性和一个方法。然后我们定义了一个 `Dog` 类,它继承了 `Animal` 类的属性和行为,并添加了一些新的成员。
**多态**
多态是 OOP 的另一个重要概念。它允许我们在不同类型的对象上调用相同的函数,得到不同的结果。下面是一个例子:
cppclass Shape { public: virtual void draw() =0; }; class Circle : public Shape { public: void draw() { cout << "Drawing a circle." << endl; } }; class Rectangle : public Shape { public: void draw() { cout << "Drawing a rectangle." << endl; } };
在这个例子中,我们定义了一个 `Shape` 类,它有一个虚函数 `draw()`。然后我们定义了两个类 `Circle` 和 `Rectangle`,它们继承了 `Shape` 类,并重写了 `draw()` 函数。
**总结**
本讲我们学习了 C++ 中的类和对象概念,以及继承、多态等相关知识。这些是面向对象编程的核心概念,它们允许我们创建更复杂、更灵活的程序。