Destruktor jest również funkcją klasy w c++. Podobnie jak Constructor Destructor ma również pewne specjalne cechy. Teraz omawiamy zarówno konstruktor, jak i destruktor w naszym temacie.
Podstawowe cechy konstruktora:
Teraz piszemy program, jak zrobić konstruktor w klasie.
Przykład programowania 1:
#włączać
za pomocą przestrzeni nazw Std;
Kompleks klasowy
prywatny:
int x, y;
publiczność:
Complex () // Utwórz konstruktor w klasie.
Cout<< “ Example of a Constructor \n ” ;
;
int main ()
Złożony com;
powrót 0;
Wyjście:
Wyjaśnienie:
Tutaj tworzymy klasę o nazwie kompleks. Deklarujemy dwie zmienne, x i y, pod modyfikatorem prywatnym. Następnie tworzymy konstruktor w publicznym modyfikatorze podobnym do nazwy klasy. Tutaj nie piszemy żadnego słowa kluczowego powrotu dla konstruktora.
Konstruktor nazywany jest domyślnie. Gdy obiekt otrzymuje konstruktor pamięci, będzie działać domyślnie.
Klasyfikacja konstruktora:
Istnieją trzy rodzaje konstruktorów dostępnych w C++. Oni są
A. Domyślny konstruktor:
Ilekroć nie tworzymy żadnego konstruktora dla klasy i tworzymy obiekt dla tej klasy, konstruktor jest domyślnie wywoływany przez kompilator. Ten typ konstruktora nazywa się domyślnym konstruktorem. Ma specjalną funkcję. W jego ciele nie ma kodu i nie bierze żadnych parametrów.
Przykład programowania 2:
#włączać
za pomocą przestrzeni nazw Std;
Kompleks klasowy
Prywatny:
int a, b;
publiczność:
;
void main ()
Złożony com;
Wyjście:
Ponieważ ten program nie ma żadnej instrukcji wyjściowej, nie ma żadnego wyjścia.
Wyjaśnienie:
Tutaj tworzymy kompleks klasowy. W klasie złożonej nie tworzymy żadnego konstruktora. Ale wewnątrz main (), gdy tworzymy obiekt o nazwie Com, kompilator tworzy domyślny konstruktor w pliku obiektowym. Nazywa się domyślnym konstruktorem. Ten typ konstruktora nie ma żadnego kodowania w jego ciele.
B. Sparametryzowany konstruktor:
Jeśli chcemy przekazać niektóre argumenty wewnątrz konstruktora, nazywa się to sparametryzowanym konstruktorem.
Przykład programowania 3:
#włączać
za pomocą przestrzeni nazw Std;
Kompleks klasowy
prywatny:
int a, b;
publiczność:
Złożone (int x, int y) // Utwórz sparametryzowany konstruktor.
a = x;
B = y;
Cout<< “ The values of a and b are”
<;
int main ()
Complex Com (3, 4);
powrót 0;
Wyjście:
Wyjaśnienie:
Powyższy kod jest przykładem sparametryzowanego konstruktora. Tutaj mijamy dwie liczby całkowite jako argumenty x i y wewnątrz złożonego konstruktora. Jeśli przekazamy niektóre wartości, takie jak 3 i 4 wewnątrz obiektu COM jako com (3, 4) z głównej funkcji, wartość ta trafia do konstruktora.
C. Kopiuj konstruktor:
Gdy jeden obiekt klasy jest skopiowany do innego obiektu tej samej klasy, nazywa się on konstruktorem kopii. Oznacza to, że oba obiekty mają tę samą wartość tej samej klasy.
Przykład programowania 4:
#włączać
Przykład klasy
int x, y;
publiczność:
Przykład (int a, int b) // Utwórz konstruktor w klasie.
x = a;
y = b;
void wyświetlacz ()
Cout << “ The values are : ”
<< x << “ and” << y ;
;
void main ()
Przykład EX1 (50, 60);
Przykład ex2 = com1;
Ex2.wyświetlacz() ;
Wyjście:
Wyjaśnienie:
Tutaj tworzymy sparametryzowany kompleks nazwy konstruktora. EX1 jest przedmiotem przykładu klasy. Za pośrednictwem obiektu Ex1 przekazujemy dwie wartości, 50 i 60. W Display () wyjście zostanie pokazane na 50 i 60.
Teraz kopiujemy wartość EX1 do innego obiektu, EX2. Wynik będzie taki sam, jeśli wywołamy funkcję display () za pośrednictwem obiektu Ex2.
Burzyciel:
Destruktor to kolejna potężna cecha, taka jak konstruktor klasy. Jego nazwa będzie taka sama jak nazwa klasy, jak wcześniej widzieliśmy w konstruktorze. Ale symbol nazywany Tilde (~) jest oddzielony destruktorem od konstruktora w kodowaniu.
Nie ma również typu powrotu jako konstruktora i nigdy nie może być statyczny.
Główną różnicą między konstruktorem a destruktorem jest to, że destruktor nie bierze żadnych argumentów takich jak konstruktor. Oznacza to, że przeciążenie nie jest możliwe w przypadku destruktura.
Przykład programowania 5:
#włączać
za pomocą przestrzeni nazw Std;
Kompleks klasowy
prywatny:
int a, b;
publiczny:
~ Complex () // Utwórz destruktor w klasie.
Cout<< “ Example of a Destructor\n ” ;
;
Void Fun ()
Złożony des; // tworzenie obiektu klasy
int main ()
zabawa() ;
powrót 0;
Wyjście:
Wyjaśnienie:
Tutaj tworzymy kompleks nazwy destruktorów w klasie złożonej. Teraz musimy wiedzieć, jaki jest powód, dla którego używamy destruktora. Destructor zostaje powołany pośrednio przez kompilator, gdy obiekt zniszczy. Jest to nieporozumienie, że Destructorzy niszczą pamięć obiektu. Faktem jest, że Destructor jest ostatnią metodą, która działa. Po tym obiekt z pewnością zostanie zniszczony, co oznacza w Main () Po uruchomieniu zabawy (), obiekt musi zostać zniszczony.
Wniosek:
Po omówieniu koncepcji konstruktora i destruktura stwierdzimy, że konstruktor i destruktor są ważnymi funkcjami członkowskimi klasy w C++. Zarówno konstruktor, jak i destruktor bardzo skutecznie zwiększają cechy klasy.