C ++: Objekterne

Oprettelse af objekter

I C ++ er der to måder at oprette objekter, det vil sige at instantiere en klasse:

  • statisk
  • Dynamisk

Oprettelse af statisk objekt

Oprettelsen af ​​statiske objekter indebærer at skabe et objekt ved at tildele et navn til det, som du ville gøre for en variabel:

 Name_of_class Name_of_objet; 

Således er objektet tilgængeligt via dets navn ...

Oprettelse af en dynamisk objekt

Oprettelsen af ​​et dynamisk objekt indebærer oprettelsen af ​​et objekt af selve programmet ifølge dets "behov". De dynamiske objekter har ikke noget navn, men i stedet kan de identificeres af peger.

Under oprettelsen af ​​en dynamisk objekt:

  • Definition af en peger til en given klasse.
  • Opret objektet ved hjælp af det nye søgeord, som også returnerer adressen til det nyoprettede objekt.
  • Tildel adressen til markøren.

Syntaxen er som følger:

 Klassenavn * Pointer_name; Pointer_name = new Class_Name; 

Ved hjælp af denne peger vil du kunne manipulere det "dynamiske" objekt (funktioner og / eller data medlemmer).

Ethvert objekt, der oprettes dynamisk ved hjælp af det nye søgeord, skal destrueres i slutningen af ​​dets brug ved hjælp af slettede søgeord. Ellers vil det unødigt optage en del af hukommelsen (selv efter at programmet er lukket). Objekter, der oprettes statisk, behøver ikke at blive ødelagt, de slettes automatisk. Efter fjernelsen af ​​et dynamisk objekt frigøres den hukommelse, den besatte. Du skal derefter tildele markøren NULL til markøren.

Få adgang til dataelementerne for et objekt

Adgang til dataelementerne til et objekt udføres forskelligt afhængigt af om objektet blev oprettet statisk eller dynamisk:

  • For objekter, der oprettes statisk, gøres adgangen til data medlemmer gennem navnet på objektet efterfulgt af en prik (.), Så navnet på dataelementet. For eksempel:

 Object_name.Data_Member_Name = Værdi; 
  • Hvad angår dynamiske objekter, udføres adgang til data medlemmer gennem markøren:

 Pointer_name-> Data_Member_name = Value; 
  • Hvis dataelementet altid er markøren for et objekt, kan du få adgang til dets data medlemmer gennem det aktuelle objekt:

 Pointer_name-> Data_Member_name-> Data_Member_name = Value; 

Adgang til medlemsfunktionerne

Adgang til en objekts funktioner udføres på samme måde som for data medlemmer:

Til statiske objekter:

 Object_Name.Name_of_function (parameter1, parameter2, ...); 

Til dynamiske objekter:

 Pointer_name-> Name_of_function (parameter1, parameter2, ...); 

Original dokument udgivet på CommentcaMarche.net.

Forrige Artikel Næste Artikel

Top Tips