Kako Napraviti Instancu Klase

Sadržaj:

Kako Napraviti Instancu Klase
Kako Napraviti Instancu Klase

Video: Kako Napraviti Instancu Klase

Video: Kako Napraviti Instancu Klase
Video: Страшная КУКЛА из ИГРА В КАЛЬМАРА! Как слепить куклу из Squid game своими руками! Анна Оськина 2024, Maj
Anonim

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

Kako napraviti instancu klase
Kako napraviti instancu klase

Neophodno je

C ++ kompajler

Instrukcije

Korak 1

Instancirajte klasu kao automatsku varijablu u lokalnom opsegu definiranom funkcijom, metodom klase ili blokom izraza. Koristite deklarativnu ili imperativnu definiciju objekta klase na odabranoj lokaciji 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; // kreiramo objekt koristeći zadani konstruktor COtherClass oSomeObject2 (1980, "Victor V. Vakchturov"); // kreiranje objekta pomoću konstruktora s parametrima} Memorija za objekte klasa kreiranih na sličan način, kao i za bilo koje druge automatske varijable, dodjeljuje se u steku. Stoga, kada izađete iz opsega i uklonite okvir steka, objekt će biti uništen (pozivom destruktora).

Korak 2

Stvorite instancu klase u gomili 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. Koristite isječak koda sličan sljedećem: CSomeClass * poSomeObject; // definicija pokazivača na objekte klase CSomeClasspoSomeObject = novi CSomeClass; // Stvaranje objekta klase CSomeClass * poSomeObject_2 = novi CSomeClass (111, "3V"); // stvaranje s pozivom na konstruktor s parametrima Pri kreiranju objekata ovom metodom koristi se mehanizam dodjele 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 eksplicitno obrisati pomoću operatora delete.

Korak 3

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 novo (p0) CSomeClass; // inicijaliziramo objekt na dodijeljenoj memoriji (zadani konstruktor) new (p1) CSomeClass (111, "abc"); // inicijalizacija objekta (konstruktor s parametrima) Prije uništavanja objekata kreiranih ovom metodom, trebali biste eksplicitno pozvati njihov destruktor: ((CSomeClass *) p0) -> ~ (); Stvaranje objekata na ovaj način uglavnom se koristi u klasama kontejnera predložaka razne biblioteke (kao što je STL).

Preporučuje se: