C++ 中的接口(抽象类)

抽象类是在 C++ 中实现抽象的一种方式。在 C++ 中,抽象是隐藏内部细节,只展示功能的过程。可以通过两种方式实现抽象:

  1. 抽象类(Abstract Class): 抽象类和接口(Interface)都可以拥有抽象方法,这些抽象方法对于实现抽象是必要的。
  2. 接口(Interface): 接口是一个抽象的类,其中所有的方法都是纯虚函数。在C++中,接口是通过使用抽象类来实现的,其中所有的方法都是纯虚函数,没有成员变量或实现代码。

通过使用抽象类和接口,可以实现C++中的抽象概念,隐藏内部细节,仅展示功能。

C++抽象类

在C++中,通过将至少一个函数声明为纯虚函数(pure virtual function),可以将类定义为抽象类。纯虚函数的声明中使用 "= 0" 进行标识。派生类必须提供纯虚函数的实现。

让我们来看一个在C++中的抽象类示例,其中包含一个抽象方法draw()。该方法的实现由派生类Rectangle和Circle提供,两个类具有不同的实现。

#include <iostream>
using namespace std;

class Shape
{
public:
    virtual void draw() = 0;
};

class Rectangle : public Shape
{
public:
    void draw()
    {
        cout << "drawing rectangle..." << endl;
    }
};

class Circle : public Shape
{
public:
    void draw()
    {
        cout << "drawing circle..." << endl;
    }
};

int main()
{
    Rectangle rec;
    Circle cir;
    rec.draw();
    cir.draw();
    return 0;
}

输出:

drawing rectangle...
drawing circle...

标签: C++语言, C++语言教程, C++语言技术, C++语言学习, C++语言学习教程, C++语言下载, C++语言开发, C++语言入门教程, C++语言高级教程, C++语言笔试题, C++语言编程思想