類別設計工具中的C++ 類別- Visual Studio - Microsoft Learn
文章推薦指數: 80 %
瞭解C++ 類別及其支援方式,以及在類別設計工具中可以有多個繼承關聯性。
跳到主要內容
已不再支援此瀏覽器。
請升級至MicrosoftEdge,以利用最新功能、安全性更新和技術支援。
下載MicrosoftEdge
其他資訊
目錄
結束焦點模式
閱讀英文
儲存
目錄
閱讀英文
儲存
Twitter
LinkedIn
Facebook
電子郵件
目錄
類別設計工具中的C++類別
發行項
08/08/2022
10位參與者
本文內容
適用于:VisualStudioVisualStudioforMacVisualStudioCode
類別設計工具支援C++類別,並以視覺化VisualBasic和C#類別圖形的方式來視覺化原生C++類別,差異在於C++類別可以有多重繼承關聯性。
您可以展開類別圖形,以顯示類別中的更多欄位和方法,或將它摺疊以節省空間。
注意
類別設計工具不支援等位(特殊類型的類別,其中配置的記憶體只是聯集的最大資料成員)所需的數量。
簡單繼承
如果您將多個類別拖曳至類別圖表,而且類別具有類別繼承關聯性,則會使用箭號連接它們。
箭號會指向基底類別的方向。
例如,類別圖表中顯示下列類別時,會使用從B指向A的箭號連接它們:
classA{};
classB:A{};
您也可以只將類別B拖曳至類別圖表,並以滑鼠右鍵按一下B的類別圖形,然後按一下[顯示基底類別]。
這會顯示其基底類別:A。
多重繼承
類別設計工具支援多重類別繼承關聯性的視覺效果。
衍生類別有多個基底類別的屬性時,會使用「多重繼承」。
以下是多重繼承的範例:
classBird{};
classSwimmer{};
classPenguin:publicBird,publicSwimmer{};
如果您將多個類別拖曳至類別圖表,而且類別具有多重類別繼承關聯性,則會使用箭號連接它們。
箭號會指向基底類別的方向。
以滑鼠右鍵按一下類別圖形,然後按一下[顯示基底類別]會顯示所選取類別的基底類別。
注意
[顯示衍生類別]命令不支援用於C++程式碼。
您可以移至[類別檢視]、展開類型節點、展開[衍生類型]子資料夾,然後將這些類型拖曳至類別圖表,以顯示衍生類別。
如需多重類別繼承的詳細資訊,請參閱多重繼承和多重基底類別。
抽象類別
類別設計工具支援抽象類別(也稱為「抽象基類」)。
這些是您永遠不會具現化的類別,而是從中衍生其他類別的類別。
使用本文件稍早<多重繼承>中的範例,您可能會將Bird類別具現化為個別物件,如下所示︰
intmain()
{
Birdsparrow;
Birdcrow;
Birdeagle;
}
不過,您可能不想要將Swimmer類別具現化為個別物件。
您可能只要從中衍生其他類型的動物類別;例如,Penguin、Whale和Fish。
在此情況下,您可以將Swimmer類別宣告為抽象基底類別。
若要將類別宣告為抽象,您可以使用abstract關鍵字。
標記為抽象或包括在抽象類別中的成員是虛擬的,而且必須由衍生自抽象類別的類別所實作。
classSwimmerabstract
{
virtualvoidswim();
voiddive();
};
您也可以包括至少一個純虛擬函式,以將類別宣告為抽象︰
classSwimmer
{
virtualvoidswim()=0;
voiddive();
};
當您在類別圖表中顯示這些宣告時,類別名稱Swimmer和其純虛擬函式swim會以斜體顯示在抽象類別圖形中,以及標記法「抽象類別」。
請注意,抽象類別類型圖形與一般類別相同,差異在於其框線為點線。
衍生自抽象基底類別的類別必須覆寫基底類別中的每個純虛擬函式,否則無法具現化衍生類別。
因此,例如,如果Fish類別衍生自Swimmer類別,則Fish必須覆寫swim方法:
classFish:publicSwimmer
{
voidswim(intspeed);
};
intmain()
{
Fishguppy;
}
當您在類別圖表中顯示此程式碼時,類別設計工具會將繼承線從Fish繪製到Swimmer。
匿名類別
類別設計工具支援匿名類別。
「匿名類別類型」是未宣告識別碼的類別。
它們不能有建構函式或解構函式、不能當成引數傳遞至函式,而且不能從函式當成傳回值傳回。
您可以使用匿名類別,將類別名稱取代為typedef名稱,如下列範例所示︰
typedefstruct
{
unsignedx;
unsignedy;
}POINT;
結構也可以是匿名的。
類別設計工具會顯示匿名類別和結構,與顯示各自的類型相同。
雖然您可以宣告及顯示匿名類別和結構,但類別設計工具不會使用您指定的標記名稱。
它會使用類別檢視所產生的名稱。
類別或結構會顯示在[類別檢視]和[類別設計工具]中,做為名為__unnamed的專案。
如需匿名類別的詳細資訊,請參閱匿名類別類型。
範本類別
類別設計工具支援範本類別的視覺效果。
支援巢狀宣告。
下表顯示一些典型宣告。
程式碼項目
類別設計工具檢視
template
程式碼項目
類別設計工具檢視
template
程式碼項目
類別設計工具檢視
template
程式碼項目
類別設計工具檢視
classA{template
程式碼項目
類別設計工具檢視
template
程式碼項目
類別設計工具檢視
template
延伸文章資訊
- 1C++ 入門指南- 單元10 - 類別 - 程式語言教學誌
類別(class) 用來設計自己需要的物件(object) ,這是說,類別是物件的藍圖。 C++ 中設計類別使用關鍵字(keyword) class ,後面接大括弧宣告(declare) 類別的...
- 2C++ 類型系統
類型的一些範例包括 int 儲存整數值、 double 儲存浮點值(也稱為純量資料類型) ,或標準程式庫類別std::basic_string 來儲存文字。 您可以藉由定義 ...
- 3C++ 類別class 簡介 - 程式語言教學- 痞客邦
C++完整教學目錄> * 朋友們若是覺得本教學對您有幫助,請點個讚~ 類別(class)和結構(struct)很相像,是用來改善結構在使用上容易出現的.
- 4[物件導向Ep. 1] 類別與物件 - CodiMD
會建議使用C++ 或是Java 當作基底語言去學習,C++ 的原因是他有完整的物件導向特性;Java 也有(甚至有時候還比C++ 更好理解些),只是他的開發環境比較囉嗦;Python 本身是 ...
- 5類別設計工具中的C++ 類別- Visual Studio - Microsoft Learn
瞭解C++ 類別及其支援方式,以及在類別設計工具中可以有多個繼承關聯性。