21xrx.com
2024-11-22 12:27:03 Friday
登录
文章检索 我的文章 写文章
C++中如何定义接口
2023-07-01 10:31:40 深夜i     --     --
接口定义 纯虚函数 继承 多态 实现类

在C++中,接口可以通过抽象类来实现。抽象类是一个不能被实例化的类,在其中定义了一些虚函数,这些虚函数由子类去实现。这些虚函数就是接口,子类必须实现这些函数以满足接口要求。

要定义一个接口,需要创建一个抽象类。抽象类中定义接口,即为该类声明一个或多个纯虚函数,形式如下:

virtual 返回类型 函数名 (形参列表) = 0;

其中 “virtual”用于声明虚函数,“返回类型”为函数返回值类型,“函数名”为该接口函数的名称,“形参列表”为接口函数的参数列表,“=0”表示函数为纯虚函数。

需要注意的是,纯虚函数没有函数体,因此不能被实例化。在子类中,必须实现所有的纯虚函数以满足接口的需求。

下面是一个简单的例子,展示如何在C++中定义接口:


class Shape {

public:

  virtual double area() = 0;

};

class Rectangle : public Shape {

public:

  Rectangle(double w, double h)

    width = w;

    height = h;

  

  double area() {

    return width * height;

  }

private:

  double width;

  double height;

};

class Circle : public Shape {

public:

  Circle(double r)

    radius = r;

  

  double area() {

    return 3.14 * radius * radius;

  }

private:

  double radius;

};

在上面的例子中,定义了一个接口Shape,其中声明了一个纯虚函数area()。Rectangle和Circle是实现了Shape接口的子类,必须实现area()函数成为合法的子类。

总之,在C++中定义接口很简单。只需要创建一个抽象类,并在其中声明一个或多个纯虚函数即可。这些纯虚函数就是接口,子类必须实现这些函数以满足接口的要求。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复