C++ 面向对象

面向对象编程(Object-Oriented Programming, OOP)是一种编程范式,它使用“对象”来设计软件。在C++中,面向对象编程是一个核心特性,允许开发者创建复杂的程序结构,使代码更易于维护、扩展和重用。

类与对象

类是面向对象编程中的一个基本概念。类定义了一种数据类型,它不仅包含了数据成员(属性),还包含了方法(行为)。对象则是类的实例,是根据类定义创建的具体实体。

定义类

在C++中,可以通过class关键字来定义一个类。类的定义通常包括数据成员和成员函数。下面是一个简单的例子:

在这个例子中,Rectangle类有两个私有数据成员widthheight,以及两个公有成员函数set_values()area()

创建对象

一旦定义了一个类,就可以通过这个类来创建对象。创建对象的过程也称为实例化。

访问控制

C++提供了三种访问控制级别:publicprotectedprivate。这些访问控制级别决定了类成员可以被哪些部分访问。

  • public:类的外部也可以访问。
  • protected:只能被类本身及其派生类访问。
  • private:只能被类内部访问。

构造函数与析构函数

构造函数和析构函数是特殊的成员函数,它们分别在对象创建时和销毁时自动调用。

构造函数

构造函数用于初始化对象的状态。构造函数的名字必须与类名相同,并且没有返回类型。

析构函数

析构函数在对象生命周期结束时被调用,用于清理资源。析构函数的名字也是类名,但前面加一个波浪线~

继承

继承是面向对象编程的一个重要特性,它允许创建一个新类(派生类),该类继承了另一个类(基类)的属性和方法。

定义基类和派生类

-- -------------------- ---- -------
----- ----- -
-------
    ------- ---- ------ - -- -- ----
--

----- ------ - ------ ----- -
-------
    ---- ------ -------- - --------- -- -------- - ----------- -
--

多态性

多态性允许使用基类的指针或引用来操作派生类的对象。这使得编写更加灵活和可扩展的代码成为可能。

封装

封装是将数据(属性)和行为(方法)绑定在一起,隐藏对象的内部实现细节,只暴露必要的接口给外部使用。C++通过访问控制符publicprotectedprivate来实现封装。

在这个例子中,balance变量被声明为private,这意味着它只能在BankAccount类内部访问。用户无法直接修改余额,只能通过depositget_balance方法间接操作。

多态与虚函数

多态是指不同类的对象对同一消息作出响应的能力,通常通过虚函数实现。

虚函数

虚函数是在基类中声明并在派生类中重写的函数,允许通过基类的指针或引用调用派生类的方法。

-- -------------------- ---- -------
----- ------ -
-------
    ------- ---- ------------ ----- - --------- -- ----- --------- -
--

----- --- - ------ ------ -
-------
    ---- ------------ ----- -------- - --------- -- ---------- -
--

在这个例子中,make_sound被声明为虚函数。当通过基类指针调用这个函数时,实际执行的是派生类版本。

纯虚函数与抽象类

纯虚函数是没有具体实现的虚函数,声明形式为virtual 返回类型 函数名() = 0;。含有纯虚函数的类被称为抽象类,不能用来创建对象,只能作为其他类的基类。

以上就是C++面向对象编程的基本内容。理解这些概念对于掌握C++语言至关重要,因为它们构成了构建复杂程序的基础。

上一篇: C++ 数据结构
下一篇: C++ 类 & 对象
纠错
反馈