匿名類別型別

類別可以是匿名 — 也就是宣告它們沒有識別項。這會很有用的當您在含有類別名稱來取代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;

匿名類別會受限於某些的限制。(如需有關匿名等位的詳細資訊,請參閱等位。) 匿名類別:

  • 不能有建構函式或解構函式。

  • 無法被當做引數傳遞到函式 (除非型別檢查會使用省略符號)。

  • 無法傳回為傳回值從函式。

請參閱

參考

定義類別的型別