C++ 写一个既有纯虚函数的、也有重载函数的接口类
时间: 2024-10-12 17:05:05 浏览: 34
在 C++ 中,一个既有纯虚函数又有重载函数的接口类(也称为抽象基类或抽象类)通常用于设计面向对象的层次结构,并让派生类实现其具体的实现。下面是一个简单的例子:
```cpp
// 定义名为 `IControllable` 的接口类,含有纯虚函数和重载运算符
class IControllable {
public:
// 纯虚函数,所有继承自 IControllable 的类都必须实现它
virtual void controlMethod() = 0;
// 运算符重载示例,例如用于比较两个控制对象
// 这里我们重载了 == 和 != 操作符
virtual bool operator==(const IControllable& other) const = 0;
virtual bool operator!=(const IControllable& other) const;
// 另一个重载函数示例,这里可能是两个操作方法的重载
virtual int applyForce(int force) {
return applyForceImpl(force);
}
protected:
// 提供一个未实现的函数供派生类重写
virtual int applyForceImpl(int force) = 0;
};
// 说明派生类需要实现上述纯虚函数
class Vehicle : public IControllable {
private:
// 实现细节...
public:
// 实现 `controlMethod`
void controlMethod() override {
// ...
}
// 实现 `operator==` 和 `applyForce`
bool operator==(const Vehicle& other) const override {
// ...
}
int applyForce(int force) override {
// ...
}
};
```
阅读全文