C ++: Objekten

Skapa objekt

I C ++ finns det två sätt att skapa objekt, det vill säga att ordna en klass:

  • statiskt
  • dynamiskt

Skapa statiskt objekt

Skapandet av statiska objekt innebär att man skapar ett objekt genom att tilldela ett namn till det, som du skulle göra för en variabel:

 Name_of_class Name_of_objet; 

Således nås objektet genom sitt namn ...

Skapa ett dynamiskt objekt

Skapandet av ett dynamiskt objekt innebär att ett objekt skapas av själva programmet enligt dess "behov". De dynamiska objekten har inte något namn, men i stället kan de identifieras av pekare.

Under skapandet av ett dynamiskt objekt:

  • Definition av en pekare till en given klass.
  • Skapa objektet med det nya sökordet, vilket också kommer att returnera adressen till det nyskapade objektet.
  • Tilldela adressen till pekaren.

Syntaxen är som följer:

 Klassnamn * Pointer_name; Pointer_name = nytt Class_Name; 

Med hjälp av denna pekare kan du manipulera det "dynamiska" objektet (funktioner och / eller data medlemmar).

Alla objekt som skapas dynamiskt med det nya sökordet bör förstöras vid slutet av användningen med raderingsverktyget. Annars kommer det onödigt att ta upp en del av minnet (även efter att programmet stängts). Objekt som skapats statiskt behöver inte förstöras, de tas automatiskt bort. Efter borttagning av ett dynamiskt objekt befrias det minne som upptas. Du måste sedan tilldela NULL-värdet till pekaren.

Öppna dataelementen för ett objekt

Tillgång till data medlemmar av ett objekt görs annorlunda beroende på om objektet skapades statiskt eller dynamiskt:

  • För objekt som skapats statiskt görs tillgången till datamedlemmar genom namnet på objektet följt av en punkt (.), Sedan namnet på dataleden. Till exempel:

 Objektnamn.Data_Member_Name = Värde; 
  • När det gäller dynamiska objekt görs åtkomst till datamedlemmar genom pekaren:

 Pointer_name-> Data_Member_name = Value; 
  • Om någonsin dataelementet är pekaren på ett objekt kan du få åtkomst till dess datamedlemmar genom det aktuella objektet:

 Pointer_name-> Data_Member_name-> Data_Member_name = Value; 

Tillgång till medlemsfunktionerna

Åtkomst till ett objekts funktioner görs på samma sätt som för medlemmarna:

För statiska objekt:

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

För dynamiska objekt:

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

Original dokument publicerat på CommentcaMarche.net.

Tidigare Artikel Nästa Artikel

Bästa Tipsen