C++ 中的包装类
Suraj P
2023年1月30日
2022年4月20日
本文将介绍 C++ 中的包装类及其使用位置。
C++ 中包装类的定义
包装类是包装托管资源的一种特殊类型的类。让我们看一个例子来更好地理解它。
示例代码:
class int_wrapper
{
public:
int_wrapper(int value=0):
myPtr(new int(value))
{
}
~int_wrapper()
{
delete myPtr;
}
private:
int* myPtr;
};
现在上面的类包装了一个指向 int
的指针。所有资源都应该以某种方式包装以保持清洁(析构函数会自动执行此操作)和正确性。
这种模式通常被称为资源获取即初始化(RAII)
。所以这个想法是为清洁绑定一个析构函数。
例如,我们包装了 C 语言的许多功能以获得面向对象的接口而不是过程接口。
假设我们有一个函数 fun()
。
void fun()
{
cout<<"hero";
}
包装类将如下所示。
class temp
{
void fun()
{
cout<<"hero";
}
};
为什么在 C++ 中使用包装类
让我们看一个需要包装类的例子。
假设一家公司使用不同类型的相机。现在每个相机制造商都会有不同的功能来使相机工作。
现在,如果开发人员想要在这些摄像头上构建应用程序或添加额外功能,一种方法是为每种摄像头类型构建和编写单独的代码,或者编写一个具有额外功能的包装类,以包装现有的代码摄像头。
Author: Suraj P