C++中接口的定义和使用方法举例详细说明
时间: 2024-03-09 09:48:16 浏览: 166
C++接口定义及实现举例
在C++中,接口通常使用抽象类来定义。抽象类是一种不能实例化的类,其目的是为了让其他类去继承它并实现其纯虚函数。接口的定义和使用方法如下:
1. 定义接口抽象类
```c++
class Interface {
public:
virtual void foo() = 0; // 纯虚函数,相当于接口方法
virtual int bar(int x, int y) = 0; // 另一个接口方法
virtual ~Interface() {} // 虚析构函数,确保子类正确释放内存
};
```
在该抽象类中,定义了两个纯虚函数,相当于接口方法。纯虚函数没有实现体,必须在子类中实现。同时,为了确保子类正确释放内存,接口通常定义一个虚析构函数。
2. 定义实现类
```c++
class MyClass : public Interface {
public:
void foo() override {
// 实现 foo 方法
}
int bar(int x, int y) override {
// 实现 bar 方法
return x + y;
}
};
```
可以看到,实现类 `MyClass` 继承了接口抽象类 `Interface`,并实现了其中的两个纯虚函数。这样,`MyClass` 类就成为了 `Interface` 接口的实现类。
3. 使用接口
```c++
Interface *ptr = new MyClass(); // 创建实现类对象
ptr->foo(); // 调用接口方法
int result = ptr->bar(1, 2);
delete ptr; // 释放内存
```
可以看到,使用接口时,先创建一个指向 `Interface` 类型的指针,指向一个 `MyClass` 对象。然后,可以通过该指针调用 `Interface` 接口中定义的方法。
需要注意的是,接口中的方法都是纯虚函数,必须在子类中实现。同时,为了确保子类正确释放内存,接口通常定义一个虚析构函数。在使用接口时,可以通过指向 `Interface` 类型的指针来操作实现类的对象。
阅读全文