Com Instanciar Una Classe

Taula de continguts:

Com Instanciar Una Classe
Com Instanciar Una Classe

Vídeo: Com Instanciar Una Classe

Vídeo: Com Instanciar Una Classe
Vídeo: instanciar una clase en c+ 2024, De novembre
Anonim

El paradigma de programació orientat a objectes és freqüent en totes les eines i llenguatges moderns per crear programari. L’estàndard de la indústria actual és el llenguatge de programació orientat a objectes C ++. Podeu crear una instància d'una classe a C ++ de diverses maneres diferents.

Com instanciar una classe
Com instanciar una classe

És necessari

Compilador C ++

Instruccions

Pas 1

Instanteu la classe com a variable automàtica a l’abast local definit per una funció, un mètode de classe o un bloc d’instruccions. Utilitzeu una definició declarativa o imperativa d'un objecte de classe en una ubicació seleccionada del programa. Si cal, feu una trucada explícita a qualsevol constructor amb paràmetres. Creeu un objecte amb un codi similar al següent: void CMyClass:: SomeMethod () {COtherClass oSomeObject1; // creeu un objecte mitjançant el constructor per defecte COtherClass oSomeObject2 (1980, "Victor V. Vakchturov"); // crear un objecte mitjançant un constructor amb paràmetres} La memòria per a objectes de classes creats de manera similar, com per a qualsevol altra variable automàtica, s'assigna a la pila. Per tant, quan sortiu de l'abast i traieu el marc de la pila, l'objecte es destruirà (amb una trucada al destructor).

Pas 2

Creeu una instància de la classe al munt mitjançant el nou operador. Definiu una variable de tipus punter a objectes de la classe que voleu crear una instància. Doneu-li un valor que sigui el resultat de l'avaluació del nou operador. Truqueu al constructor adequat. Utilitzeu un fragment de codi similar al següent: CSomeClass * poSomeObject; // definició d’un punter a objectes de la classe CSomeClasspoSomeObject = new CSomeClass; // Creeu un objecte de la classe CSomeClass * poSomeObject_2 = new CSomeClass (111, "3V"); // creació amb una trucada al constructor amb paràmetres Quan es creen objectes mitjançant aquest mètode, s’utilitza el mecanisme d’assignació de memòria definit pel nou operador (si no s’anula i no s’estableix la seva pròpia funció d’assignació), de manera que l’adreça del no es coneix per endavant l'objecte nou. Tots els objectes creats d'aquesta manera s'han de suprimir explícitament mitjançant l'operador de supressió.

Pas 3

Creeu una instància de la classe utilitzant el nou operador en un tros de memòria autoassignat. Utilitzeu un codi similar al següent: void * p0 = malloc (sizeof (CSomeClass)); // assignació de memòria buida * p1 = malloc (sizeof (CSomeClass)); // assignació de memòria nova (p0) CSomeClass; // inicialitzar l'objecte a la memòria assignada (constructor per defecte) nou (p1) CSomeClass (111, "abc"); // inicialització d'objectes (constructor amb paràmetres) Abans de destruir objectes creats per aquest mètode, haureu de trucar explícitament al seu destructor: ((CSomeClass *) p0) -> ~ (); La creació d'objectes d'aquesta manera s'utilitza principalment a les classes de contenidors de plantilles de diverses biblioteques (com ara STL).

Recomanat: