Speciální funkce členů (C++)
C++ definuje několik typů funkcí, které lze deklarovat pouze jako členové třídy – nazývaných "zvláštní členské funkce." Tyto funkce ovlivňují objekty dané třídy jsou vytvořeny, zničeny, zkopírovat a převedeny do jiných typů objektů.Jiné důležité vlastnosti mnoha z těchto funkcí je, že může být volána implicitně (kompilátorem).
Zvláštní členské funkce popsané v této části jsou následující:
Konstruktory.Povolte automatické inicializace objektů.
Destruktory.Po objekty explicitně nebo implicitně zničeny, proveďte vyčištění.
Funkce převodu.Převod mezi typy tříd a další typy.
nové funkce operátor.Dynamicky alokuje prostor.
operátor odstranění funkce.Pomocí úložiště uvolní nové operátor.
Operátor přiřazení (operátor =).Při přiřazení uskutečňuje.
Položky v předchozím seznamu může být uživatelem definovaný pro každou třídu.
Funkce členů zvláštní dodržovat stejná pravidla přístupu jako další členské funkce.Pravidla přístupu jsou popsány v Řízení přístupu členských.Následující tabulka shrnuje chování funkce člena a přítele.
Souhrnné funkce
Typ funkce |
Funkce zděděna ze základní třídy? |
Může být funkce virtuální? |
Funkce vrátit hodnotu? |
Funkce je člen nebo přítele? |
Vygeneruje kompilátor funkce Pokud uživatel není? |
---|---|---|---|---|---|
Konstruktor |
Ne |
Ne |
Ne |
Člen |
Ano |
Kopírovat konstruktor |
Ne |
Ne |
Ne |
Člen |
Ano |
Destructor |
Ne |
Ano |
Ne |
Člen |
Ano |
Popis převodu |
Ano |
Ano |
Ne |
Člen |
Ne |
Přiřazení (operator=) |
Ne |
Ano |
Ano |
Člen |
Ano |
Nový |
Ano |
Ne |
void * |
Statický člen. |
Ne |
odstranit |
Ano |
Ne |
void |
Statický člen. |
Ne |
Ostatní funkce členů |
Ano |
Ano |
Ano |
Člen |
Ne |
Funkce přítele |
Ne |
Ne |
Ano |
Přítel |
Ne |