共用方式為


類別類型物件

物件是執行環境中具類型的儲存區域,除了保留狀態資訊之外,還可用於定義行為。 類別類型物件是使用 class-name 所定義。 請考慮下列程式碼片段:

// class_type_objects.cpp
class Account
{
public:
   Account()   // Default constructor
   {
   }
   Account( double );   // Construct from double.
   double& Deposit( double );
   double& Withdraw( double, int );
};

int main()
{
   Account CheckingAccount;   // Define object of class type.
}

上述程式碼會宣告稱為 Account 的類別 (新類型)。 然後會使用這個新類型定義名為 CheckingAccount 的物件。

下列作業是 C++ 針對類別類型物件所定義:

  • 指派。 一個物件可以指派給另一個。 此作業的預設行為是成員複本。 此行為可以藉由提供使用者定義的指派運算子進行修改。

  • 使用複製建構函式的初始化。

以下是使用使用者定義的複製建構函式初始化的範例:

  • 物件的明確初始化。 例如:

    Point myPoint = thatPoint;
    

    會將 myPoint 宣告為 Point 類型的物件,並且將它初始化為 thatPoint 的值。

  • 藉由傳遞引數進行的初始化。 物件可以透過傳值和傳址的方式進行傳遞。 如果是以傳值的方式傳遞,則每個物件的複本都會傳遞至函式。 建立複本的預設方法是成員複本,這個複本可以藉由提供使用者定義的複製建構函式進行修改 (接受「類別參考」類型單一引數的建構函式)。

  • 函式傳回值的初始化所進行的初始化。 物件可以透過傳值和傳址的方式傳回。 以傳值方式傳回物件的預設方法是成員複本,這個複本可藉由提供使用者定義的複製建構函式進行修改。 以傳址方式傳回的物件 (使用指標或參考類型) 對於所呼叫的函式不應同時為自動和區域。 如果同時為這兩者,則傳回值所參考的物件將會在超出範圍後才能使用。

多載運算子將說明如何以逐一類別為基礎重新定義其他運算子。

請參閱

參考

類別概觀