Hur Man Initierar En Klass

Innehållsförteckning:

Hur Man Initierar En Klass
Hur Man Initierar En Klass

Video: Hur Man Initierar En Klass

Video: Hur Man Initierar En Klass
Video: Hur man fikar med klass 2024, Maj
Anonim

Det objektorienterade programmeringsparadigmet är vanligt i alla moderna verktyg och språk för att skapa programvara. Branschstandarden idag är det objektorienterade programmeringsspråket C ++. Du kan skapa en instans av en klass i C ++ på flera olika sätt.

Hur man initierar en klass
Hur man initierar en klass

Det är nödvändigt

C ++ - kompilator

Instruktioner

Steg 1

Instantiera klassen som en automatisk variabel i det lokala omfånget som definieras av en funktion, klassmetod eller uttalande. Använd en deklarativ eller tvingande definition av ett klassobjekt på en vald plats i ditt program. Ring vid behov ett uttryckligt samtal till alla konstruktörer med parametrar. Skapa ett objekt med kod som liknar följande: void CMyClass:: SomeMethod () {COtherClass oSomeObject1; // skapa ett objekt med standardkonstruktören COtherClass oSomeObject2 (1980, "Victor V. Vakchturov"); // skapa ett objekt med hjälp av en konstruktör med parametrar} Minne för objekt av klasser som skapats på ett liknande sätt, som för alla andra auto-variabler, tilldelas på stacken. Därför, när du lämnar räckvidden och tar bort stapelramen kommer objektet att förstöras (med ett samtal till förstöraren).

Steg 2

Skapa en instans av klassen i högen med den nya operatören. Definiera en variabel av typpekaren till objekt i klassen som ska instansieras. Ge det ett värde som är resultatet av utvärderingen av den nya operatören. Ring lämplig konstruktör. Använd ett kodavsnitt som liknar följande: CSomeClass * poSomeObject; // definition av en pekare till objekt i klassen CSomeClasspoSomeObject = ny CSomeClass; // Skapa ett objekt av klass CSomeClass * poSomeObject_2 = ny CSomeClass (111, "3V"); // skapande med ett anrop till konstruktören med parametrar När objekt skapas med den här metoden används minnesallokeringsmekanismen som definierats av den nya operatören (om den inte åsidosätts och dess egen allokeringsfunktion inte är inställd), så adressen till nytt objekt är inte känt i förväg. Alla objekt som skapas på detta sätt måste raderas uttryckligen med hjälp av borttagningsoperatören.

Steg 3

Skapa en instans av klassen med den nya operatören på en självtilldelad bit minne. Använd kod som liknar följande: void * p0 = malloc (sizeof (CSomeClass)); // minnesallokering ogiltig * p1 = malloc (sizeof (CSomeClass)); // minnesallokering ny (p0) CSomeClass; // initialisera objektet i det tilldelade minnet (standardkonstruktör) nytt (p1) CSomeClass (111, "abc"); // objektinitiering (konstruktör med parametrar) Innan du förstör objekt som skapats med den här metoden, bör du uttryckligen ringa deras destruktor: ((CSomeClass *) p0) -> ~ (); Skapa objekt på detta sätt används främst i mallbehållarklasser av olika bibliotek (såsom STL).

Rekommenderad: