C++ 中的包裝類

Suraj P 2023年1月30日 2022年4月20日
  1. C++ 中包裝類的定義
  2. 為什麼在 C++ 中使用包裝類
C++ 中的包裝類

本文將介紹 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
Suraj P avatar Suraj P avatar

A technophile and a Big Data developer by passion. Loves developing advance C++ and Java applications in free time works as SME at Chegg where I help students with there doubts and assignments in the field of Computer Science.

LinkedIn GitHub

相關文章 - C++ Class