Kezdőoldal » Számítástechnika » Programozás » Miért akar objektumokat...

Miért akar objektumokat létrehozni dinamikus helyfoglalásnál? (c++)

Figyelt kérdés

Van 2 osztályom: A és B

A-nak van több konstruktora is,paraméter nélküli esetén a képernyőről olvassa be az adatokat

B-nek van egy adattagja : A* elemek,ez A-beli objektumokat tárol

B konstruktora egy int-et vár,hogy hány objektumnak foglaljon helyet:

B(int db){

this -> elemek = new A[db];

}


Ilyenkor ha a main függvényben létre akarok hozni egy B objektumot,akkor ebben az esetben 5-ször meghívja A-nak a paraméter nélküli konstruktorát

B név(5)



Ez miért van?


2017. nov. 15. 12:51
 1/4 anonim ***** válasza:
Azért, mert a new kulcsszóval létrehozol egy 5 elemű A tömböt.
2017. nov. 15. 13:54
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:

"A-nak van több konstruktora is,paraméter nélküli esetén a képernyőről olvassa be az adatokat"

Ez egyébként borzasztó rossz konvenció, ilyet ne csinálj.

2017. nov. 15. 21:44
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:

"ebben az esetben 5-ször meghívja A-nak a paraméter nélküli konstruktorát"


Kénytelen meghívni, hiszen A osztályú objektumokat hozol létre a new kulcsszóval. Más szóval: memóriát foglalsz nekik, és B-nek azokhoz muszáj konstruktort hívnia. Ha A-nak nem lenne paraméter nélküli konstruktora, fordításnál itt hibát dobna.


Véletlenül nem csak A objektumokra mutató pointer tömböt akarsz létrehozni a B konstruktorában?

2017. nov. 16. 17:04
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:
de,utólag már rájöttem,hogy ez lesz az amit akarok(pointerekből álló tömb)
2017. nov. 16. 21:21

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!