Kako Instancirati Klasu

Sadržaj:

Kako Instancirati Klasu
Kako Instancirati Klasu

Video: Kako Instancirati Klasu

Video: Kako Instancirati Klasu
Video: Лунтик | Первый раз в первый класс | Все серии про школу | Мультики для детей 2024, Svibanj
Anonim

Objektno orijentirana programska paradigma prevladava u svim modernim alatima i jezicima za stvaranje softvera. Danas je industrijski standard objektno orijentirani programski jezik C ++. Instancu klase na C ++ možete stvoriti na nekoliko različitih načina.

Kako instancirati klasu
Kako instancirati klasu

Nužno je

C ++ kompajler

Upute

Korak 1

Instancirajte klasu kao automatsku varijablu u lokalnom opsegu definiranom funkcijom, metodom klase ili blokom izraza. Upotrijebite deklarativnu ili imperativnu definiciju objekta klase na odabranom mjestu u vašem programu. Ako je potrebno, uputite eksplicitni poziv bilo kojem konstruktoru s parametrima. Stvorite objekt pomoću koda sličnog sljedećem: void CMyClass:: SomeMethod () {COtherClass oSomeObject1; // stvoriti objekt pomoću zadanog konstruktora COtherClass oSomeObject2 (1980, "Victor V. Vakchturov"); // stvaranje objekta pomoću konstruktora s parametrima} Memorija za objekte klasa stvorenih na sličan način, kao i za bilo koje druge automatske varijable, dodjeljuje se u stogu. Stoga, kada izađete iz opsega i uklonite okvir steka, objekt će biti uništen (pozivom na destruktor).

Korak 2

Stvorite primjerak klase u hrpi pomoću novog operatora. Definirajte varijablu pokazivača tipa na objekte klase koja će biti instancirana. Dajte mu vrijednost koja je rezultat procjene novog operatora. Pozovite odgovarajući konstruktor. Upotrijebite isječak koda sličan sljedećem: CSomeClass * poSomeObject; // definicija pokazivača na objekte klase CSomeClasspoSomeObject = new CSomeClass; // Stvaranje objekta klase CSomeClass * poSomeObject_2 = novi CSomeClass (111, "3V"); // stvaranje s pozivom na konstruktor s parametrima Pri stvaranju objekata ovom metodom koristi se mehanizam za dodjelu memorije definiran novim operatorom (ako nije nadjačan i ako nije postavljena vlastita funkcija dodjele), pa adresa adrese novi objekt nije poznat unaprijed. Svi tako stvoreni objekti moraju se izričito izbrisati pomoću operatora delete.

3. korak

Stvorite instancu klase pomoću novog operatora na samoalociranom dijelu memorije. Koristite kod sličan sljedećem: void * p0 = malloc (sizeof (CSomeClass)); // dodjela memorije void * p1 = malloc (sizeof (CSomeClass)); // dodjela memorije new (p0) CSomeClass; // inicijaliziramo objekt na dodijeljenoj memoriji (zadani konstruktor) new (p1) CSomeClass (111, "abc"); // inicijalizacija objekta (konstruktor s parametrima) Prije uništavanja objekata stvorenih ovom metodom, trebali biste izričito pozvati njihov destruktor: ((CSomeClass *) p0) -> ~ (); Stvaranje objekata na ovaj način uglavnom se koristi u klasama spremnika predložaka razne knjižnice (poput STL-a).

Preporučeni: