Hirdetés
Köszönjük a sok biztatást, támogatást! Utolsó pillanat a féláras hirdetésfeladásra, előfizetésre!
Új hozzászólás Aktív témák
-
WonderCSabo
félisten
Kijavítgattam, így működik, legalábbis erre a kemény 3 adatra, többre nem tesztelgettem le.
Viszont ez az egész nagyon kusza így. A fa adatszerkezetet rakd el külön fájlba. Az "elem" osztály a fának egy belső osztálya legyen, sokkal egyszerűbb és szebb lesz a megvalósítás úgy. A student, szamok classt, main fv-t legalább egy külön fájlba rakd a fától, semmi közük egymáshoz. Ennek a sornak:
fa<T>::fa.beszur(adat.convert(line));
Mi akar lenni a jelentése? Ha a beszur statikus fv lenne, akkor arra hivatkozhatnál így:
fa<T>::beszur()
Ha a fa egy objektum lenne, akkor hivatkozhatnál rá így.
fa.beszur()
Amit te leírtál, az azt jelenti, hogy van egy fa osztálynak statikus fa adattagja, aminek statikus beszur fv-ére hivatkozol...
Aztán ez:
y.beszur(*(new student("dsfdsf","KSDFGH")));
Ha rögtön dereferálod, semmi értelme dinamikusa allokálni, mert csak egy szép memory leaket kapsz, és semmi előnyt.
Az ilyet C++ -ban így írjuk:
y.beszur(student("dsfdsf","KSDFGH"));
A BST-nek hol maradt a destruktora? Dinamikusan hozod létre a csúcsokat és sehol sem szabadítod fel őket.
Illetve: a fa nem lesz túl általános, hordozható, ha ilyen módon írod meg. A compare fv helyett használj sima < operátort, a convert helyett pedig << operátort. És ezeket terheld túl a saját típusaidban. Így még a beépített típusokra is fog működni.
Jól sejtem, hogy Javában kezdtél el programozni?
-
-
Jester01
veterán
A template-k már csak ilyenek. A fordítónak látnia kell a definíciót, nem csak a deklarációt (mintha ezeket te kevernéd kicsit).
Olyat lehet játszani, hogy konkrét paraméterre explicit példányosítod akkor meg fogja találni másik fordítási egységben is.Amúgy nem véletlen, hogy az új módi szerint a "headereknek" nincs .h kiterjesztése. Szegény c++ nagyon el lett barmolva, hogy az interface és az implementáció összemosódik.
-
WonderCSabo
félisten
Iterátort kell hozzá írnod.
Definiálsz egy belső, publikus Iterator osztályt, aminek a friend class-a a treed. Ezek után pedig meg kell írnod a szokásos iterátor műveleteket:
bool operator!=(const Iterator& it) const;
bool operator==(const Iterator& it) const;
Iterator& operator++();
Iterator operator++(int);
Iterator& operator--();
Iterator operator--(int);
T& operator*() const;Az Iteratornak pedig legyen egy mezője, ami a treed egy nodejára mutat.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Víz- gáz- és fűtésszerelés
- Októberben kerülnek legacy státuszba a régebbi GeForce VGA-k
- Debrecen és környéke adok-veszek-beszélgetek
- Építő/felújító topik
- Milyen autót vegyek?
- Milyen egeret válasszak?
- Milyen légkondit a lakásba?
- Csökkentik a fogyasztást a Google AI-adatközpontok, hogy ne legyen áramszünet
- Kifelé is csukható a Z Flip7?
- További aktív témák...
- Samsung Galaxy S24 Ultra 12/256gb - Karc mentes, akár beszámítással
- Samsung Galaxy S23 Ultra 12/512gb - Újszerű, akár beszámítással
- Apple iPhone 16 Pro 128gb - Szép állapot , Akku 100%, Apple garancia, akár beszámítással
- Apple iPhone 16 Pro 128gb - Újszerű, Akku 100%, Apple garancia, akár beszámítással
- Apple iPhone 16 128gb - Újszerű, akku állapot 100%, Apple garancia, akár beszámítással
- HIBÁTLAN iPhone SE 2022 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS2984
- Bomba ár! HP EliteBook 840 G5 - i5-8G I 8GB I 128GB SSD I 14" FHD Touch I HDMI I Cam I W11 I Gari!
- Huawei P20 Lite 64GB, Kártyafüggetlen, 1 Év Garanciával
- iPhone 13 mini 128GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3089, 100% Akkumulátor
- GIGABYTE AORUS P850W 850W ATX 2.31 tápegység(még garis 2024.04.16 12+24 gari van rá)
Állásajánlatok
Cég: FOTC
Város: Budapest