Specjalne funkcje składowe (C++)
C++ definiuje kilka rodzajów funkcje, które mogą być deklarowane tylko jako członkowie klasy — są to tak zwane "funkcji specjalnych elementów członkowskich". Funkcje te wpływają na sposób obiektów danej klasy są tworzone, zniszczone, kopiowane i konwertowane na obiekty innych typów.Inną ważną właściwością wiele z tych funkcji jest może być wywołana niejawnie (przez kompilator).
Funkcje specjalne Członkowskie opisane w tej sekcji są w następujący sposób:
Konstruktory.Włączanie automatycznego inicjowania obiektów.
Destruktory.Wykonać oczyszczanie po jawnie lub niejawnie zniszczone obiektów.
Funkcje konwersji.Konwertowanie między typami klasy i innych typów.
Nowa funkcja operator.Dynamicznie przydziela składowania.
operator usuwać funkcji.Zwalnia pamięć zaalokowana za pomocą Nowy operatora.
Operator przypisania (operator =).Używana, gdy odbywa się przydziału.
Elementy z powyższej listy może być zdefiniowana przez użytkownika dla każdej klasy.
Funkcje specjalne Członkowskie Przestrzegaj innych funkcji elementów członkowskich te same reguły dostępu.Reguły dostępu są opisane w Kontroli dostępu Członkowskie.W następującej tabeli podsumowano zachowania funkcji członka i przyjaciela.
Podsumowanie zachowanie funkcji
Funkcja Typ |
Funkcja jest dziedziczona z klasy bazowej? |
Funkcja może być wirtualny? |
Funkcja może zwracać wartość? |
Jest funkcją członka lub przyjaciela? |
Kompilator wygeneruje funkcji, jeśli użytkownik nie ma? |
---|---|---|---|---|---|
Konstruktor |
Nr |
Nr |
Nr |
Członkowskie |
Tak |
Konstruktor kopiujący |
Nr |
Nr |
Nr |
Członkowskie |
Tak |
Destruktor |
Nr |
Tak |
Nr |
Członkowskie |
Tak |
Konwersja |
Tak |
Tak |
Nr |
Członkowskie |
Nr |
Przypisanie (operator=) |
Nr |
Tak |
Tak |
Członkowskie |
Tak |
Nowy |
Tak |
Nr |
void * |
Członka statycznego |
Nr |
Usuń |
Tak |
Nr |
void |
Członka statycznego |
Nr |
Inne funkcje składowe |
Tak |
Tak |
Tak |
Członkowskie |
Nr |
Funkcje znajomego |
Nr |
Nr |
Tak |
Przyjaciel |
Nr |