Typ třídy objektů
Objekt je zadané oblasti úložiště v prostředí provádění; k uchování informací o stavu také definuje chování.Typ třídy objektů, které jsou definovány pomocí název třídy.Zvažte následující fragment kódu:
// 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.
}
Předcházející kód deklaruje třídy (nový typ) nazvané Account.Poté použije tento nový typ k definování objektu s názvem CheckingAccount.
Následující operace jsou definovány pro objekty typu třídy jazyka C++:
Přiřazení.Lze přiřadit jeden objekt na jiný.Výchozí chování pro tuto operaci je memberwise kopie.Toto chování lze změnit zadáním přiřazení uživatelem definovaný operátor.
Inicializace pomocí kopie konstruktory.
Příklady inicializaci pomocí uživatelem definované kopie konstruktory:
Explicitní inicializace objektu.Příklad:
Point myPoint = thatPoint;
deklaruje myPoint jako objekt typu Point a inicializuje na hodnotu thatPoint.
Inicializace způsobené jako argument.Objekty mohou být předány do funkce hodnotou nebo odkazem.Pokud jsou předány hodnotou je předaný funkci kopie jednotlivých objektů.Výchozí metoda pro vytvoření kopie je kopie memberwise; To lze změnit zadáním uživatelem definované Kopírovat konstruktor (konstruktor, který převezme jediný argument typu "odkaz na třídu").
Inicializace způsobené inicializace vrácené hodnoty funkce.Objekty mohou být vráceny z funkcí hodnotou nebo odkazem.Výchozí metoda pro vrácení hodnoty objektu je memberwise kopie; To lze změnit zadáním uživatelem definované Kopírovat konstruktor.Objekt vrácený odkaz (pomocí ukazatele nebo typy odkazů) by neměl být automatický i místní volané funkci.Pokud ano, bude objekt uvedený ve vrácené hodnotě dopraveny mimo rozsah před použitím.
Přetížené operátory vysvětluje způsob předefinování ostatní subjekty na základě třídy podle třídy.