Конструктор и деструктор у Ц ++ - Потребе, употребе са синтаксом и примерима

Преглед садржаја:

Anonim

Увод о конструктору и деструктору у Ц ++

  • Конструктор и Деструктор у Ц ++ играју значајну улогу у објектно програмском језику попут Ц ++. Како у Ц ++ имамо класе и њене објекте током креирања новог објекта, сваки пут се конструктор може користити за иницијализацију објекта, док када се објект жели уништити деструктор може се користити за обављање потребних поступака поста.
  • Када креирамо објект класе у Ц ++, можда ћемо хтјети иницијализирати поља класе с неким заданим или одређеним вриједностима. Клас има своја поља и методе. Поља су углавном променљиве или објекти. Додјелом заданих вриједности овим пољима олакшавамо програмирање. Конструктор је као нормална функција унутар класе и преводилац га аутоматски позива када створимо нови објект те класе. Док креирамо објект, ми заправо просљеђујемо потребне вриједности као аргумент објекту, ти аргументи се просљеђују конструктору класе. Вриједности аргумената сада се могу додијелити одговарајућим пољима која су доступна у класи. Поред тога, пољима где не преносимо аргументе можемо доделити задане вредности. Постоје такве различите врсте и начини на које иницијализујемо конструктор у Ц ++.
  • Конструктор је као посебна функција класе. Кад год креирамо нови објект, конструктор се извршава. Синтакса конструктора је врло једноставна, функција ће имати исти назив као и класа у којој је дефинисана и неће имати повратни тип, чак ни неважећи. Конструктори су веома корисни у додјели одређених вриједности одређеним члановима класе. Конструктор се може користити за извођење логике повезане са класом у тренутку проналаска.

Синтакса конструктора

class Box (
public:
int height;
//constructor
Box () (
// member initialization
)
)

Деструктор у Ц ++ је такође посебна функција чланова у класи. Компилатор аутоматски позива деструктор и извршава се кад год предмет те класе изађе из подручја обухвата или се обрише користећи израз за брисање према показивачу тог објекта. Кад год објект уништи преводилац, позива се деструктор. У деструктору можемо извршити изјаве које могу бити било шта што желимо да изводимо када објект изађе из оквира. Пост-операције попут затварања веза, затварања датотека итд. Су неки од примера које можемо извести у деструктору.

Синтакса деструктора

class Box (
public:
int height;
//destructor
~Box () (
// post statements
)
)

Синтакса деструктора врло је слична конструктору. Имаће исти назив као и класа у којој је дефинисан и неће имати повратни тип. Међутим, управо ће он имати знак ((тилде) пре имена деструктора. Обично се деструктор користи за лоцирање динамички додељене меморије за класу и њене чланове. Деструктори су врло корисни за извођење поступака који се могу изводити по пословној логици.

Зашто су нам потребни Конструктор и Деструктор на Ц ++?

Ц ++ је објектно оријентисани програмски језик. У било којем објектно програмском језику мапирамо оригиналне стварне јединице са класом и објектима.

Да разумемо зашто су нам потребни конструктор и деструктор на Ц ++ на примеру из реалног живота. Претпоставимо да имамо ентитет Бок и за њега смо креирали класу, а он ће имати и објекте који се могу користити у другим деловима. Сада ће оквир имати одређене параметре као што су висина, дужина, ширина, итд. И кад год креирамо објект класе Бок, желимо да узме неку задану вредност. Рецимо за висину, овај циљ се може постићи додељивањем одређене задане вредности висини у конструктору те класе. Слично, за остале параметре такође се могу доделити вредности. Након коришћења објекта Бок рецимо да одмах желимо одређену акцију или назовимо неку функцију. То се може учинити помоћу Деструктора у Ц ++. Тражене изјаве биће додате деструктору те класе. Ово су користи у конструкцији и деструктору у реалном времену у Ц ++.

Како конструктори и деструктори раде на Ц ++?

Као што је раније речено, преводилац конструктор позива када конструктор створи неки објект. Ако не дефинирамо конструктор, Ц ++ преводилац аутоматски генерира задани конструктор за нас. Конструктор се користи за распоређивање меморије ако је потребно и за изградњу класе објекта док се деструктор користи за обављање потребног чишћења када се објект уништи. Компилатор аутоматски позива деструктор када уништи објект. Ако не дефинирамо свој властити деструктор, Ц ++ преводилац креира задани деструктор.

Стварање Конструктора и Деструктора у Ц ++? (Примери)

1. Пример конструктора

Узмимо исти пример класе Бок да декларирамо конструктор. Доделимо неке задане вредности висини и тежини кутије.

Код

class Box (
public:
int height;
int weight;
// constructor
Box () (
// member initialization
height = 10;
weight = 20;
)
)

Дакле, кад год се створи објект ове класе, он ће враћати објект типа Бок са подразумеваним вредностима као што је претходно дефинисано.

2. Пример деструктора

Кад год ће објект Бок изаћи из обима, на нашем примеру ћемо исписати неки текст на конзоли. Заправо кодирање може бити извршена било која одређена активност.

Код

class Box (
public:
int height;
int weight;
// constructor
Box () (
// member initialization
height = 10;
weight = 20;
)
//destructor
~Box () (
// post statements
cout << “Box Object is being deleted.” << endl;
)
)

Дакле, кад год објект Бок изађе из обима, преводилац ће на конзоли исписати текст како је горе дефинисано.

Закључак

Дакле, Конструктор и Деструктор играју важну улогу у објектном програмском језику. Конструктор се користи за иницијализацију објекта, а деструктор се користи док уништава објект. И конструктор и деструктор врло су корисни за програмирање на Ц ++ језику.

Препоручени чланци

Ово је водич за Конструктор и Деструктор на Ц ++. Овде смо расправљали о потребама Конструктора и Деструктора у Ц ++, начину коришћења, различитих синтакса и примера. Можете и да прођете кроз наше друге сродне чланке да бисте сазнали више -

  1. Ц ++ функције матрице
  2. Копирајте конструктор у Ц ++
  3. Увод у Ц ++
  4. Врсте конструктора у Ц
  5. Водич за деструктор у Ц #
  6. Деструктор у ПХП-у са примерима