首頁 >後端開發 >C++ >如何在 C 中建立類似靜態類別的行為?

如何在 C 中建立類似靜態類別的行為?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-24 19:25:02310瀏覽

How to Create a Static Class-like Behavior in C  ?

在C 中建立靜態類別

C 本身並不像C# 那樣支援靜態類,在C# 中,可以將類別標記為靜態以防止它們實例化。但是,透過建立包含所有靜態方法的類別也可以達到類似的效果。

實作

建立包含所有靜態方法的 C 類別:

  1. 使用公共存取說明符定義一個類別。
  2. 將類別中的所有方法宣告為靜態。
  3. 將建構子設為私有或將其刪除以防止類別實例化。

範例

考慮以下BitParser 類別:

<code class="cpp">// BitParser.h
class BitParser
{
public:
  static bool getBitAt(int buffer, int bitIndex);
};</code>
<code class="cpp">// BitParser.cpp
bool BitParser::getBitAt(int buffer, int bitIndex)
{
  // Code to determine if the bit is set
}</code>

您可以使用此類來存取其靜態方法,而無需建立實例:

注意:
<code class="cpp">cout << "bit 5 is " << BitParser::getBitAt(buffer, 5) << endl;</code>

此方法透過確保以下內容有效地模擬靜態類別:無法建立該類別的實例,並且可以透過其靜態方法存取其所有功能。

以上是如何在 C 中建立類似靜態類別的行為?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn