📜  c++中的接口(1)

📅  最后修改于: 2023-12-03 14:59:51.447000             🧑  作者: Mango

C++中的接口

在C++中,接口是一种抽象的数据类型,可以用于描述类的公共行为。接口定义了一组纯虚函数,没有任何成员变量。类可以实现一个或多个接口,从而提供请求的行为。

定义接口

在C++中定义接口,需要创建一个抽象基类。抽象基类的纯虚函数定义了接口的方法。下面是一个简单的接口声明:

class myInterface {
public:
   virtual void myMethod() = 0;
};

这个接口只声明了一个方法myMethod(),并没有实现。在这里,= 0表示这是一个纯虚函数,它没有实现。在C++中,任何一个类中包含一个或多个纯虚函数,那么这个类就是一个抽象基类。

实现接口

接口必须由类来实现,以提供方法的具体实现。要实现一个接口,需要使用关键字implements

class myClass : public myInterface {
public:
   void myMethod() {
      // 实现代码
   }
};

这个类实现了接口myInterface,并包含了myMethod()的具体实现。

使用接口

可以使用指向接口的指针来调用实现了这个接口的类的方法。下面的代码演示了如何调用myMethod()

myInterface *ptr = new myClass();
ptr->myMethod();

这个代码创建了一个myClass的实例,并将其赋值给指向接口myInterface的指针ptr。然后,通过指针调用myMethod()方法。

总结

接口提供了一种抽象的编程方式,用于描述类的公共行为。接口声明一组纯虚函数,没有成员变量。类可以实现一个或多个接口,以提供具体的方法实现。使用指向接口的指针可以调用实现了这个接口的类的方法。自从C++ 11开始,可以使用关键字interface来定义接口,但其用法和基于抽象基类的接口定义方式一样。