Как да създадете екземпляр на клас

Съдържание:

Как да създадете екземпляр на клас
Как да създадете екземпляр на клас

Видео: Как да създадете екземпляр на клас

Видео: Как да създадете екземпляр на клас
Видео: Как се пише заявление (молба) + образец 2024, Може
Anonim

Обектно-ориентираната парадигма за програмиране е широко разпространена във всички съвременни инструменти и езици за създаване на софтуер. Днес индустриалният стандарт е обектно-ориентираният език за програмиране C ++. Можете да създадете екземпляр на клас в C ++ по няколко различни начина.

Как да създадете екземпляр на клас
Как да създадете екземпляр на клас

Необходимо е

C ++ компилатор

Инструкции

Етап 1

Инстанцирайте класа като автоматична променлива в локалния обхват, дефиниран от функция, метод на клас или операторски блок. Използвайте декларативна или императивна дефиниция на обект от клас на избрано място във вашата програма. Ако е необходимо, направете изрично извикване на всеки конструктор с параметри. Създайте обект, използвайки код, подобен на следния: void CMyClass:: SomeMethod () {COtherClass oSomeObject1; // създаване на обект с помощта на конструктора по подразбиране COtherClass oSomeObject2 (1980, "Виктор В. Вакчуров"); // създаване на обект с помощта на конструктор с параметри} В стека се разпределя памет за обекти от класове, създадени по подобен начин, както за всякакви други променливи. Следователно, когато излезете от обхвата и премахнете рамката на стека, обектът ще бъде унищожен (с извикване на деструктора).

Стъпка 2

Създайте екземпляр на класа в купчината с помощта на новия оператор. Дефинирайте променлива от тип указател към обекти от класа, който ще бъде създаден. Дайте му стойност, която е резултат от оценката на новия оператор. Извикайте подходящия конструктор. Използвайте кодов фрагмент, подобен на следния: CSomeClass * poSomeObject; // дефиниция на указател към обекти от класа CSomeClasspoSomeObject = new CSomeClass; // Създаване на обект от клас CSomeClass * poSomeObject_2 = нов CSomeClass (111, "3V"); // създаване с извикване на конструктора с параметри При създаването на обекти по този метод се използва механизмът за разпределение на паметта, дефиниран от новия оператор (ако не е заменен и собствената му функция за разпределение не е зададена), така че адресът на нов обект не е известен предварително. Всички обекти, създадени по този начин, трябва да бъдат изрично изтрити с помощта на оператора за изтриване.

Стъпка 3

Създайте екземпляр на класа, като използвате новия оператор на саморазпределен парче памет. Използвайте код, подобен на следния: void * p0 = malloc (sizeof (CSomeClass)); // разпределение на паметта void * p1 = malloc (sizeof (CSomeClass)); // разпределение на паметта new (p0) CSomeClass; // инициализиране на обекта в разпределената памет (конструктор по подразбиране) new (p1) CSomeClass (111, "abc"); // инициализация на обект (конструктор с параметри) Преди да унищожите обекти, създадени от този метод, трябва изрично да извикате техния деструктор: ((CSomeClass *) p0) -> ~ (); Създаването на обекти по този начин се използва главно в класове контейнери на шаблони на различни библиотеки (като STL).

Препоръчано: