📅  最后修改于: 2023-12-03 14:59:51.447000             🧑  作者: Mango
在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
来定义接口,但其用法和基于抽象基类的接口定义方式一样。