c++ 封装一个接口,计算数组的长度
时间: 2024-12-18 15:18:04 浏览: 14
在C++中,封装一个接口来计算数组的长度通常涉及创建一个纯虚函数(pure virtual function),这在接口(abstract class)或者模板类中完成。下面是一个简单的例子,使用接口(抽象类):
```cpp
#include <iostream>
// 定义接口/抽象类 ArrayLength
class IArrayLength {
public:
// 纯虚函数,声明数组长度为0
virtual int getLength() const = 0;
};
// 具体实现类,例如VectorLength继承自IArrayLength
class VectorLength : public IArrayLength {
private:
std::vector<int> vector;
public:
// 实现getLength方法,返回vector的大小
int getLength() const override {
return vector.size();
}
};
// 另一个实现类,例如DynamicArrayLength
class DynamicArrayLength : public IArrayLength {
private:
dynamic_array<int> array;
public:
// 实现getLength方法,返回array的大小
int getLength() const override {
return array.length();
}
};
int main() {
// 创建VectorLength和DynamicArrayLength的对象,并通过接口获取长度
IArrayLength* vecLength = new VectorLength();
IArrayLength* dynArrayLength = new DynamicArrayLength();
std::cout << "Vector length: " << vecLength->getLength() << std::endl;
std::cout << "Dynamic array length: " << dynArrayLength->getLength() << std::endl;
// 释放内存
delete vecLength;
delete dynArrayLength;
return 0;
}
阅读全文