Kezdőoldal » Számítástechnika » Programozás » Ez milyen C++ szintaktika?

Ez milyen C++ szintaktika?

Figyelt kérdés

Egy kódban ilyet láttam. Mi a franc ez?

Rectangle::Rectangle():itsWidth(5),itsLength(10){}


2016. aug. 7. 21:11
 1/5 anonim ***** válasza:

Hisz benne van a kódba.Ez egy fix érték a téglalap-nak. Szélesség, és hossza van megadva.


Rectangle::Rectangle():

itsWidth(5),

itsLenght(10)

{}

2016. aug. 7. 22:44
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:
Jó, de mi ez a kettőspont (a szimpla)? Meg az itsWidth és az itsLength sima int típusú változók, hogy kaphatnak paramétert?
2016. aug. 7. 22:50
 3/5 anonim ***** válasza:

Ez a Rectangle nevű osztály default konstruktora. A szimpla kettőspont után lehet inicializálni az adatait.

Szintaktika:

osztálynév::metódus(paraméterek) : adattag(érték), ... {}


// rectangle.h

class Rectangle {

private:

__int itsWidth;

__int itsLength;

public:

__Rectangle();

//...

}


// rectangle.cpp

Rectangle::Rectangle() : itsWidth(5), itsLength(10)

{

// vagy másképp:

// itsWidth=5;

// itsLength=10;

}

2016. aug. 8. 02:45
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:

És hogy miért jobb ez, mint a sima értékadás?

Egyrészt gyorsabban lefut, mert a fordító eleve ezekkel az értékekkel hozza létre az objektumot, nem fut le konkrét értékadó utasítás, másrészt vannak olyan adattagok, amiket csak így lehet inicializálni (pl. const).


Nem ugyanaz, de hasonló, mint a lokális változók inicializálása:

{

int i; // veremmutató állítás

i = 1; // értékadás

}


{

int i = 1; // lefordított kód: "push 1"

}

2016. aug. 8. 02:57
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:

Majdnem jó, de nem pontos!


Mikor lefoglalod a memóriát, akkor lefoglalódik az attribútum helye is. A lefoglalás pillanatában adott érték az inicializált érték, minden más már "felülírás".


Tehát, ha már { ... } között akarsz az attr.-nak értéket adni, az már felülírás, nem pedig inicializálás!

2016. aug. 8. 08:19
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!