匿名類別型別
類別可以是匿名 — 也就是宣告它們沒有識別項。 這會很有用的當您在含有類別名稱來取代typedef名稱時,下列所示:
typedef struct
{
unsigned x;
unsigned y;
} POINT;
注意事項 |
---|
使用前一個範例所示的匿名類別可用於保留與現有的 c 程式碼的相容性的。在一些 c 程式碼,使用typedef搭配匿名結構是普遍。 |
匿名類別也會相當有用的當您想要參考類別的成員,才能看到它未包含於個別的類別,如下:
struct PTValue
{
POINT ptLoc;
union
{
int iValue;
long lValue;
};
};
PTValue ptv;
在前面的程式碼中, iValue以便能使用物件的成員選取運算子 (.),如下所示:
int i = ptv.iValue;
匿名類別會受限於某些的限制。 (如需有關匿名等位的詳細資訊,請參閱等位。) 匿名類別:
不能有建構函式或解構函式。
無法被當做引數傳遞到函式 (除非型別檢查會使用省略符號)。
無法傳回為傳回值從函式。