Specjalne funkcje członkowskie (C++)
C++ definiuje kilka rodzajów funkcje, które można zadeklarować tylko jako elementy klas — te są nazywane "funkcje specjalne elementu członkowskiego". Te funkcje wpływa na sposób obiektów danej klasy są tworzone, zniszczone, kopiować i przekonwertowane na obiekty z innych typów.Innego ważne właściwość wiele z tych funkcji jest, że można go wywołać niejawnie (przez kompilator).
Funkcje specjalne elementu członkowskiego opisane w tej sekcji są następujące:
Konstruktory.Włącz automatyczne inicjowania obiektów.
Destruktorów.Wykonaj czyszczenie po jawnie lub niejawnie zniszczone obiektów.
Funkcje konwersji.Konwersja między typy klas i innych typów.
Operator nowej funkcji.Dynamicznie przydziela magazynu.
Operator usuwać funkcji.Zwalnia miejsce do magazynowania przydzielone za pomocą nowy operatora.
Operator przypisania (operator =).Używany, gdy przypisania ma miejsce.
Elementy na liście powyżej może być zdefiniowane przez użytkownika dla każdej klasy.
Funkcje specjalne elementu członkowskiego przestrzegać regułom dostępu, które innych funkcji elementów członkowskich.Reguły dostępu są opisane w kontroli dostępu do.Poniższa tabela zawiera podsumowanie zachowanie funkcji elementu członkowskiego i znajomego.
Podsumowanie zachowanie funkcji
Typ funkcji |
Funkcja pochodzi od klasy podstawowej? |
Funkcja może być wirtualne? |
Czy funkcja może zwrócić wartość? |
To funkcja elementu członkowskiego lub znajomego? |
Kompilator wygeneruje funkcji, jeśli użytkownik nie wykona? |
---|---|---|---|---|---|
Konstruktor |
Nie |
Nie |
Nie |
Element członkowski |
Tak |
Kopiuj konstruktora |
Nie |
Nie |
Nie |
Element członkowski |
Tak |
Destruktor |
Nie |
Tak |
Nie |
Element członkowski |
Tak |
Konwersja |
Tak |
Tak |
Nie |
Element członkowski |
Nie |
Przypisanie (operator=) |
Nie |
Tak |
Tak |
Element członkowski |
Tak |
new |
Tak |
Nie |
Unieważnij * |
Statyczny element członkowski |
Nie |
Usuń |
Tak |
Nie |
void |
Statyczny element członkowski |
Nie |
Inne funkcje elementu członkowskiego |
Tak |
Tak |
Tak |
Element członkowski |
Nie |
Funkcje znajomego |
Nie |
Nie |
Tak |
Friend |
Nie |