CannibalSmith ([info]cannibalsmith) rakstīja [info]koderi kopienā,
@ 2007-09-29 19:34:00

Previous Entry  Add to memories!  Tell a Friend!  Next Entry
C++ klases mainīgo inicializācijas kārtība
Ir klase Room. Ir klase Chair, kuras vienīgais konstruktors ir Chair(Room& room). Ir klase House, kas dara tā:
House
{
protected:
    Room room;
    Chair chair(room);
};
Tā drīkst? Vai room inicializācija ir garantēta pirms chair inicializācijas, ja es room deklarēju pirms chair? Un kā rakstīt, ja es gribu masīvu ar Chair? Ja tā nedrīkst, tad kā man darīt? Es varētu deklarēt Chair* un inicializēt viņu kaudzē House konstruktorā (un attiecīgi dzēst destruktorā), bet man tas neliekas eleganti.


(Lasīt komentārus) - (Ierakstīt jaunu komentāru)


[info]bubu
2007-10-05 20:22 (saite)
delete chair + i;
vietā ir jāraksta
chair[i].~Chair();

Es katrā ziņā neko šādu nerekomendētu lietot.

(Atbildēt uz šo) (Iepriekšējais)


(Lasīt komentārus) -

Neesi iežurnalējies. Iežurnalēties?