C++ 中的包裝類

Suraj P 2023年10月12日
  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++ 中使用包裝類

讓我們看一個需要包裝類的例子。

假設一家公司使用不同型別的相機。現在每個相機製造商都會有不同的功能來使相機工作。

現在,如果開發人員想要在這些攝像頭上構建應用程式或新增額外功能,一種方法是為每種攝像頭型別構建和編寫單獨的程式碼,或者編寫一個具有額外功能的包裝類,以包裝現有的程式碼攝像頭。

作者: 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