Constructors de classes C ++

C Class Constructors



Els constructors són com funcions. S’utilitzen per inicialitzar els valors i els objectes de la classe. Aquests constructors s’inicien quan es crea l’objecte d’una classe. El constructor no retorna cap valor directament. Per obtenir el valor del constructor, hem de descriure una funció independent, ja que el constructor no té cap tipus de retorn. El constructor es diferencia de la funció simple de diferents maneres. Es crea un constructor quan es genera l'objecte. Es defineix en el segment públic de la classe.

En aquest article, deliberarem sobre tots aquests tipus de constructors amb exemples.







Exemple 1

Aquesta és una il·lustració d’un constructor per defecte. Com sabem, els constructors es creen per defecte automàticament quan creem un objecte d'una classe. Això s’anomena creació implícita. Els constructors tenen el mateix nom que el nom de la classe. Penseu en un fitxer que tingui el codi c ++ del constructor, ja que sabem que la classe té dues opcions, privada i pública. La part privada conté les variables de dades, mentre que la part pública és per a les funcions recuperades per qualsevol objecte. Per tant, el constructor també es defineix a la part pública.



Enter()

{

x=50;

i=20;

};

En aquest constructor, s’assignen valors a les variables. Si volem obtenir els valors com a sortida, els hem d'imprimir al programa principal.







Després de definir el constructor, la classe es tanca. En entrar al programa principal, farem la impressió dels valors mitjançant un objecte. L'objecte sempre accedeix als constructors ja que són les parts de la classe. La creació d’objectes és tan senzilla. Es fa introduint-lo amb el nom de la classe. Aquest és un enter en aquest exemple. El valor s’obtindrà mitjançant el mètode dot. és a dir, a.x.

Podem veure la sortida del codi font des del terminal a Ubuntu. L'enfocament utilitzat per obtenir la sortida és bastant fàcil. Primer es compila el codi i després s’executa. Utilitzem el compilador G ++ per al procés de compilació. Igual que en el cas de C, fem servir GCC.



$ G++ -o filec filec.c

./filec

-O s’utilitza per desar la sortida al fitxer.

Exemple 2

En aquesta il·lustració, explicarem els constructors parametritzats. A diferència de l'exemple anterior, també podem passar els arguments als constructors del programa principal. Quan es genera l'objecte, aquests valors es passen automàticament a les variables presents al constructor per rebre el valor. Alguns dels usos dels constructors parametritzats són.

  • S'utilitza per inicialitzar diferents variables amb valors diferents dins dels constructors quan s'inicialitza.
  • S'utilitza en la sobrecàrrega del constructor. Es defineix més endavant a l'article.

Vegem ara la il·lustració que hem descrit per elaborar aquest concepte. La classe té el nom enter, de manera que definitivament, el nom del constructor també serà el mateix. Als paràmetres del constructor, hi ha dos valors de tipus enter. Aquests s’inicialitzen per acceptar els valors que s’envien des del programa principal com a trucada de funció.

Enter( intx,inti)

{

A=x;

B=i;

};

A l'exemple anterior, es donaven els valors a les variables dins del constructor. Mentre que en aquest constructor, les variables s’assignen amb les variables que tenen el valor.

Si volem visualitzar, hem de definir una funció que retornarà el valor ja que no és possible accedir a aquesta variable inicialitzada directament des del constructor.

intgetX()

{

tornara;

};

Ara veurem la part principal del programa. Aquí, quan es crea l'objecte, podeu veure els valors a la secció de paràmetres.

Enter v(70,55); {implícita}

enter v=enter(10,15); {explícita}

I per mostrar el resultat, cridarem a les funcions creades dins de la classe mitjançant l’objecte. és a dir, v.getx ().

El mètode de recuperació de registres és el mateix que s’ha introduït abans.

Exemple 3

Aquest exemple tracta de la còpia d'un constructor d'una classe. Un constructor copiat s'utilitza per inicialitzar l'objecte amb un altre objecte d'una classe similar a la qual pertany. Aquest constructor copia les dades presents en un objecte a l’altre. Els paràmetres d'aquest constructor contenen l'adreça d'un objecte de la classe. Penseu en els exemples donats, en què hem introduït dues variables dels mateixos tipus de dades perquè puguin accedir mitjançant qualsevol funció de la classe. El constructor rebrà els valors a través de la variable. Al mateix temps, el constructor copiat només rebrà l'objecte. I amb l’ajut d’aquest objecte, s’obtindran els valors.

Mur(paret&obj)

{

Llargada=obj.llargada;

Alçada=obj.alçada;

}

Hem de calcular l'àrea, de manera que la funció d'aquest càlcul es defineix aquí. Això retornarà el valor a la funció principal quan es cridi. Ara observarem el programa principal del codi

La trucada de funció del constructor copiat serà així.

Paret2=paret1;

L'objecte crida al constructor copiat i les dades del primer objecte es copien a través d'ell. A més, anomenarem la funció per calcular l'àrea a través dels dos objectes.

Des de la sortida, podeu veure que el resultat dels dos constructors és el mateix. Vol dir que l'objecte ha copiat totes les dades amb èxit.

Exemple 4

Aquesta és una il·lustració de la sobrecàrrega del constructor. Passa quan hem d’utilitzar més d’una funció dins de la classe. La sobrecàrrega del constructor segueix les instruccions dels constructors parametritzats. Tots els constructors de la classe tenen un nom similar al de la classe. Però a cadascun dels constructors se li assignen paràmetres diferents. Cada constructor es diu segons l’argument quan creem l’objecte.

Penseu en l'exemple donat, en què hem utilitzat tres constructors. Un és sense cap argument. El segon és amb un únic argument, mentre que el tercer és amb dos arguments. Aquesta il·lustració és similar a la precedent. A mesura que calculem l'àrea en la funció independent descrita dins de la classe.

// Constructor amb dos arguments

forma(intx,inti)

{

a=x;

b=i;

};

Ara, avançant cap al programa principal, podem veure que quan iniciem l’objecte class, el constructor sense argument es crida per defecte. Ara hem de trucar a altres constructors amb objectes diferents que tinguin arguments diferents.

Forma s;

Forma s2(8);

Forma s3(4,2);

La funció mitjançant la qual podem mostrar el valor s’anomena a través del mateix objecte creat.

Per veure la sortida, utilitzarem el mateix mètode de terminal d’ordres mitjançant la compilació i execució del codi present al fitxer.

Des de la sortida, podem veure que la resposta és la mateixa per a cada constructor.

Conclusió

En aquest tutorial, hem vist els conceptes bàsics dels constructors i les seves funcionalitats, inclosa la manera de sobrecarregar-los. Els constructors s’utilitzen per inicialitzar les variables amb els valors.