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