Hvordan Instansere En Klasse

Innholdsfortegnelse:

Hvordan Instansere En Klasse
Hvordan Instansere En Klasse

Video: Hvordan Instansere En Klasse

Video: Hvordan Instansere En Klasse
Video: Instantiating a Class in Python 2024, Kan
Anonim

Det objektorienterte programmeringsparadigmet er utbredt i alle moderne verktøy og språk for å lage programvare. Bransjestandarden i dag er det objektorienterte programmeringsspråket C ++. Du kan opprette en forekomst av en klasse i C ++ på flere forskjellige måter.

Hvordan instansere en klasse
Hvordan instansere en klasse

Det er nødvendig

C ++ kompilator

Bruksanvisning

Trinn 1

Instanter klassen som en automatisk variabel i det lokale omfanget definert av en funksjon, klassemetode eller setningsblokk. Bruk en deklarativ eller tvingende definisjon av et klasseobjekt på et valgt sted i programmet ditt. Ring om nødvendig til en hvilken som helst konstruktør med parametere. Opprett et objekt ved hjelp av kode som ligner på følgende: void CMyClass:: SomeMethod () {COtherClass oSomeObject1; // lage et objekt ved hjelp av standardkonstruktøren COtherClass oSomeObject2 (1980, "Victor V. Vakchturov"); // lage et objekt ved hjelp av en konstruktør med parametere} Minne for objekter av klasser opprettet på en lignende måte, som for alle andre auto-variabler, tildeles på bunken. Derfor, når du går ut av omfanget og fjerner stabelrammen, vil objektet bli ødelagt (med et kall til destruktøren).

Steg 2

Opprett en forekomst av klassen i bunken ved hjelp av den nye operatøren. Definer en variabel av typepekeren til objekter i klassen som skal instantieres. Gi den en verdi som er resultatet av å evaluere den nye operatøren. Ring den aktuelle konstruktøren. Bruk en kodebit som ligner på følgende: CSomeClass * poSomeObject; // definisjon av en peker til objekter i klassen CSomeClasspoSomeObject = ny CSomeClass; // Lag et objekt av klasse CSomeClass * poSomeObject_2 = ny CSomeClass (111, "3V"); // oppretting med et anrop til konstruktøren med parametere Når du oppretter objekter etter denne metoden, brukes minnetildelingsmekanismen definert av den nye operatøren (hvis den ikke blir overstyrt og dens egen tildelingsfunksjon ikke er satt), nytt objekt er ikke kjent på forhånd. Alle objekter som er opprettet på denne måten, må slettes eksplisitt ved hjelp av sletteoperatøren.

Trinn 3

Opprett en forekomst av klassen ved hjelp av den nye operatøren på en egen tildelt mengde minne. Bruk kode som ligner på følgende: void * p0 = malloc (sizeof (CSomeClass)); // minnetildeling ugyldig * p1 = malloc (sizeof (CSomeClass)); // minnetildeling ny (p0) CSomeClass; // initialisere objektet i det tildelte minnet (standardkonstruktør) nytt (p1) CSomeClass (111, "abc"); // objektinitialisering (konstruktør med parametere) Før du ødelegger objekter opprettet med denne metoden, bør du eksplisitt kalle destruktoren deres: ((CSomeClass *) p0) -> ~ (); Å lage objekter på denne måten brukes hovedsakelig i malbeholderklasser av forskjellige biblioteker (som STL).

Anbefalt: