C++ osztály kérdés?
Az a kérdésem, hogy van 2 osztályom:
1. Adatok (objektumai: private típusú tömb, függvényei: addAdat, getAdat)
2. Menu (függvényei: mainMenu, addMenu, deleteMenu)
A main() függvényben létrehozom az Adatok és a menu egy példányát:
main() {
Adatok adatok();
Menu menu();
}
Na most én a Menu osztályból szeretném elérni az Adatok előbb létrehozott tömbjét az adatok.addAdat() függvényen keresztül, hogy a menürendszeren keresztül mókolni tudjak rajta, de nem értem hogyan kéne ezt megoldani... Ha a main()-ben hozom létre az Adatok egy példányát, akkor azt a Menu osztályból nem érem el. De ha a Menu osztályban hozom létre, akkor a main()-ből nem érem el az ott létrehozott példányt, márpedig fontos lenne, hogy ott is lássam a létrejött példányt.
Valaki tud segíteni?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Ha konstruktornak nincs paramétere C++ban akkor a "()" jel elhagyható.
Javaslom a pointeres "new" kulcsszóval készíteni az osztályokat, mivel paraméter átadás esetén "másolatot" készít, így adatvesztés is lehet. Ofc, program végén delete használandó a memoria takarítására.
Nyílván, hogy 2 osztályt példányosítasz 2 külön változóba. Így nincs kapcsolat kettőjük között. A kérdés, hogy mi a cél?
Ha menü adja az adatokat, akkor vagy Konstruktorként átadva az adatot, vagy beállítani olyat, hogy setData (magyarosan: setAdatok) metódust, ezzel feltöltve a Menu property/attribútuma, amit már a getXyMenu metódussal tudsz hívni a Menu-ből.
Ha konstruktort használsz Javaslom a inicializálót.
Köszi, igazából csak összerittyentettem a kérdésben feltett kódot, hogy legyen egy láható példa, szóval az szintaktikailag lényegtelen.
Amit szeretnék:
Van két osztályom:
- Az egyik létrehoz egy tömböt adott fájlból (Adatok class) és kezeli (hozzáad adatot, töröl adatot).
- A másik kezeli a program menüjét (kiír, almenükbe belép, stb.).
A problémám az, hogy nekem a Menu osztályból kell használnom a main()-ben létrehozott Adatok példányának függvényeit, hiszen a menün keresztül mókolom az adatokat. Nem tudom érthető-e.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!