C ++: Objektit

Objektien luominen

C ++: ssa on kaksi tapaa luoda objekteja, toisin sanoen luokka:

  • staattisesti
  • dynaamisesti

Staattisen objektin luominen

Staattisten objektien luominen merkitsee objektin luomista nimeämällä sille nimen, kuten tekisi muuttujalle:

 Name_of_class Name_of_objet; 

Tällöin objektia käytetään sen nimen ...

Dynaamisen objektin luominen

Dynaamisen objektin luominen merkitsee objektin luomista itse ohjelmasta sen "tarpeiden" mukaisesti. Dynaamisilla kohteilla ei ole nimeä helposti, vaan ne voidaan tunnistaa osoittimilla.

Dynaamisen objektin luomisen aikana:

  • Määritelmä osoitin tietylle luokalle.
  • Luo objekti uuden avainsanan avulla, joka myös palauttaa uuden luodun objektin osoitteen.
  • Määritä osoitin osoittimelle.

Syntaksi on seuraava:

 Class_name * Pointer_name; Pointer_name = uusi luokan_nimi; 

Tämän osoittimen avulla voit käsitellä "dynaamista" kohdetta (toiminnot ja / tai datan jäsenet).

Kaikki uuden avainsanan avulla dynaamisesti luodut objektit tulisi tuhota sen käytön lopussa poistamalla avainsana. Muussa tapauksessa se vie tarpeettomasti osan muistista (jopa ohjelman sulkemisen jälkeen). Staattisesti luotuja objekteja ei tarvitse hävittää, ne poistetaan automaattisesti. Dynaamisen objektin poistamisen jälkeen muisti, jonka se on ottanut, vapautuu. Sinun on sitten määritettävä NULL-arvo osoittimelle.

Siirry objektin datan jäseniin

Pääsy objektin datan jäseniin tehdään eri tavalla sen mukaan, onko objekti luotu staattisesti tai dynaamisesti:

  • Staattisesti luotujen objektien kohdalla pääsy datan jäsenille tapahtuu objektin nimen jälkeen, jota seuraa piste (.), Sitten datan jäsenen nimi. Esimerkiksi:

 Object_name.Data_Member_Name = Arvo; 
  • Dynaamisten kohteiden osalta tietojen jäsenille pääsy tapahtuu osoittimen kautta:

 Pointer_name-> Data_Member_name = Arvo; 
  • Jos tietojäsen on koskaan objektin osoitin, voit käyttää sen jäseniä nykyisen objektin kautta:

 Pointer_name-> Data_Member_name-> Data_Member_name = Arvo; 

Pääsy jäsentoimintoihin

Pääsy objektin toimintoihin tapahtuu samalla tavalla kuin datan jäsenille:

Staattisille kohteille:

 Object_Name.Name_of_function (parametri1, parametri2, ...); 

Dynaamisia kohteita:

 Pointer_name-> Name_of_function (parametri1, parametri2, ...); 

Alkuperäinen asiakirja, joka on julkaistu CommentcaMarche.net-sivustolla.

Edellinen Artikkeli Seuraava Artikkeli

Top Vinkkejä