- Nagyon apró félokos a HMD új mobilja
- iPhone topik
- Xiaomi Watch 2 - fast fashion
- Nem tud dönteni az iFold a titán és az alumínium között
- Poco F7 – bajnokesélyes
- Milyen okostelefont vegyek?
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- OneOdio Focus A6 – Bluetooth 6-ot olcsón
- Okosóra és okoskiegészítő topik
- Apple iPhone Air - almacsutka
Hirdetés
(használd a CYBSEC25PH kuponkódot további 20 ezer ft kedvezményért!)
Új hozzászólás Aktív témák
-
Krono91
csendes tag
Reggel amint lesz rá időm nekiesek és átnyálazom az erről szóló dolgokat.
A többieknek csak hogy a hibát kicsit jobban specifikáljam:
Ha a ListaElem konstruktorát kijavítom ez a kódrészlet nekem tökéletesen lefordul, de ha használni szeretném már nem tudom.
Első gyors ránézésre azonnal feltűnik hogy a Lista konstruktorában mikor a strázsákat hozom létre a next és pre pointereket mintha nem definiáltam volna. tehát olyan mintha a a Lista osztály nem látná a ListaElem struktúra belső felépítését.A megoldás az lett hogy létrehoztam egy ListaElem.h headert és abba tettem bele ezt a kódrészletet:
template <class Adat>class ListaElem // privát struktúra így nem kell a fiend ami nehezíti az olvashatóságot, és így tényleg senki nem fér hozzá ehhez az adattaghoz
{
friend class Lista;Adat data; // maga az adat része az objektumnak
ListaElem *next; // a listában következőre mutató pointer
ListaElem *pre; // a listában előzőre mutató pointer//ListaElem konstruktora, ezzel már azonnal beszúrhatóvá is válik 2 listaelem közé
ListaElem(ListaElem *next = 0, ListaElem *prev = 0) :next(next), pre(prev) {}
};A másik headerben a generikusság miatt egy kis átalakítással pedig ez maradt:
#include "ListaElem.h"template<class Adat>
class Lista
{
ListaElem<Adat> *first; // Első eleme a listának strázsa
ListaElem<Adat> *last; // Utolsó eleme a listának strázsapublic:
//Lista konstruktora, strázsák létrehozása
Lista()
{
//Strázsák létrehozása
first = new ListaElem<Adat>;
last = new ListaElem<Adat>;
first->pre = 0;
first->next = last;
last->pre = first;
last->next = 0;
}
};Ekkor már tökéletes a kód és használható is.
A kérdés az hogy az első megoldásom miért nem helyes.
El szeretném kerülni a friend class használatát és egy belső privát struktúrában szeretném tárolni a ListaElemek felépítését.Bocsánat ha ködösen fogalmaztam elsőre, de már tényleg lassan alvás idő van
Ú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!
- AMD Ryzen 7 5800X/Radeon RX 6800 16GB/2TB SSD/32GB RAM konfig eladó
- OnePlus 12 (512 GB/16 GB RAM)
- Galaxy S25FE 256Gb - pár napot használt, 3 év garancia
- iPhone 16 128GB fekete 1 hónapos! Makulátlan! KÁRTYAFÜGGETLEN! 2026 szeptember 4-ig Apple garancia!
- AMD Ryzen 9 7950X3D/RTX 5090 32GB/64GB DDR5 RAM/1TB SSD HIGH-END konfig eladó
- GYÖNYÖRŰ iPhone SE 2022 64GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS3369
- ÁRGARANCIA!Épített KomPhone i5 10400F 16/32GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- Új és újszerű 13-14 Gamer, ultrabook, üzleti, 2in1, X360, Touch készülékek kedvező áron Garanciával
- BESZÁMÍTÁS! MSI B550M R7 5800X3D 32GB DDR4 1TB SSD RTX 4070 12GB ZALMAN M4 A-DATA 750W
- ÁRGARANCIA! Épített KomPhone i5 13400F 16/32/64GB RAM RTX 5060 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest