共用方式為


類別設計工具中的 Visual C++ Typedef

Typedef 陳述式會在名稱及其基礎型別之間,建立一個或多個間接取值 (Indirection) 層。 [類別設計工具] 支援 C++ typedef 型別,這些型別是以關鍵字 typedef 進行宣告,例如:

typedef class coord
{
   void P(x,y);
   unsigned x;
   unsigned y;
} COORD;

然後您就可以使用這個型別來宣告執行個體:

COORD OriginPoint;

雖然您可以不使用名稱宣告 typedef,但是 [類別設計工具] 並不會使用您所指定的標記名稱,而是使用 [類別檢視] 所產生的名稱。 例如,下列宣告是有效的,但是在 [類別檢視] 及 [類別設計工具] 中卻顯示成名稱為 __unnamed 的物件:

typedef class coord
{
   void P(x,y);
   unsigned x;
   unsigned y;
};

如需使用 typedef 型別的詳細資訊,請參閱 typedef 規範

C++ typedef 的圖案形狀和 typedef 中所指定的型別圖案相同。 例如,如果來源宣告 typedef class,則圖案為圓的邊角且標籤為 [類別]。 如果是 typedef struct,則圖案為方的邊角且標籤為 [結構]。

類別和結構中都可以宣告巢狀 typedef,因此類別和結構圖案可以將巢狀 typedef 宣告顯示為巢狀圖案。

Typedef 圖案支援內容功能表上的 [顯示為關聯] 和 [顯示為集合關聯] 命令。

下列是 [類別設計工具] 所支援的 typdef 型別的範例:

程式碼項目

類別設計工具檢視

typedef type name

name : type

typedef

繪製一條關聯線連接至型別 name (如果可能的話)。

typedef void (*func)(int)

func: void (*)(int)

typedef

函式指標的 Typedef。 未繪製關聯線。

如果來源型別是函式指標,[類別設計工具] 就不會顯示 typedef。

typedef int MyInt;
class A {
   MyInt I;
};

MyInt: int

typedef

A

類別

繪製一條關聯線,從來源型別圖案指向目標型別圖案。

Class B {};

typedef B MyB;

B

類別

MyB : B

typedef

以滑鼠右鍵按一下 typedef 圖案以及按一下 [顯示為關聯],會顯示 typedef 或類別,以及一條 [別名] 線段結合兩個圖案 (類似關聯線)。

typedef B MyB;

typedef MyB A;

MyBar : Bar

typedef

同上。

Class B {};
typedef B MyB;
class A {
   MyB B;
};

B

類別

MyB : B

typedef

A

類別

MyB 是巢狀的 typedef 圖案。

#include <vector>

...

using namespace std;

...

typedef vector<int> MyIntVect;

vector<T>類別

MyIntVect : vector<int>

typedef

class B {};

typedef B MyB;

class A : MyB {};

MyB : B

typedef

-> B

B

A

類別

-> MyB

[類別設計工具] 不支援使用內容功能表命令顯示這類關聯。

#include <vector>

Typedef MyIntVect std::vector<int>;

Class MyVect : MyIntVect {};

std::vector<T>

類別

MyIntVect : std::vector<int>

typedef

MyVect

類別

-> MyIntVect

請參閱

參考

typedef 規範

概念

使用 Visual C++ 程式碼 (類別設計工具)