- Gigabyte alaplap topik
- Házimozi haladó szinten
- Milyen TV-t vegyek?
- AMD vs. INTEL vs. NVIDIA
- Harmincadik születésnapja alkalmából megújult az AIDA64
- Részesedést vásárolt az Intelben az NVIDIA
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Apple MacBook
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Bluetooth hangszórók
Új hozzászólás Aktív témák
-
Hiftu
senior tag
Ez a téma elég messzire vezet. Szerintem két különálló részként kellene tekinteni egy kódra:
1, objektumok létrehozásra és kapcssolatok felépítése
2, business logika megvalósítása az objektumokkal.Ha lehetséges, akkor egy objektum kapja meg paraméterként a vele együttműködő objektumokat.
(nem minden esetben megoldható.) Ezáltal kisebb lesz a függőség és flexibilisebb a kód.
A létrehozás közben pedig kisebb lesz az esély a katasztrófákra. -
Hiftu
senior tag
Közben kipróbáltam. Segmentation fault-ot írt ki.
A b.push_back(i)-re hasalt el.
Akkor ötletem nem volt rossz, csak az eredménye: az a inicializálásakor még nincsen b vectorod.Megoldás #1:
Felcseréled az a és b változó sorrendjét.
Ez egy elég gyenge megoldás, több változó esetén szívhatsz vele.Megoldás #2:
Az összefüggő adatok inicializálását kiveszed az inicializálási listából (de szarul hangzik magyarul)
és berakod a constructor függvénytörzsébe. -
Hiftu
senior tag
Gyanítom, hogy 0-t kapsz a b vector méretére, különben nem írtad volna. Ha jól gyanítom, akkor az adattagok létrehozása a deklarálás sorrendjében történik. Az elképzelés em az, hogy "a" inicializálása után meghívodik a vector default constructora, ami üresre állítja azt.
-
Hiftu
senior tag
válasz
Hunmugli #3817 üzenetére
Elmondom, miért nem ajánlott ilyesmiröl még gondolkodni sem.
1, nem tudod lokálisan elemezni a függvényt. Egy csomó külsö függösége lenne.
2, a külsö függöségei gyakorlatilag láthatatlanok lennének.
3, mások számára olvashatatlan lenne a kód (a való életben ez fontos). Keresnék a változókat lokálisan, paraméterként, adattagként, globálisnak és sehol nem találnák. Ez bujócskának jó lenne, de szoftvernek rossz.
4, hála istennek a c++ nem enged meg ilyet.Megoldás: használj paramétert és minden rendben lesz.
-
Hiftu
senior tag
Valami ilyesmit irnék main()-be.
Remélem nem irtam el semmit.
int main()
{
int i,j;
do
{
cout << " \n Tanulok szama: \t";
cin >> i;
}
while (i <= 0); //legalabb 1 tanulo adatat fel kellene vinni
tanulo* t = new tanulo[i]; //csinalunk tombot az adatoknak.
for (j=0;j<i;++j)
{
cout << "\n Nev: \t";
cin >> t[j].nev;
cout << "\n Jegy: \t";
cin >> t[j].jegy;
}
for (j=0;j<i;++j)
{
cout << "\n" << t[j].nev << "\t";
cout << "\n" << t[j].jegy << "\t";
}
cin.get();
cin.get();
delete[] t; //eldobjuk a lefoglalt memoriat
return 0;
}
Ú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!
- Kína betilthatta az NVIDIA AI gyorsítók vásárlását
- Autós topik látogatók beszélgetős, offolós topikja
- Okos (AI) szemüveget mutatott be a Meta
- Milyen autót vegyek?
- Gigabyte alaplap topik
- BestBuy ruhás topik
- Házimozi haladó szinten
- Google Pixel topik
- Milyen routert?
- iPhone topik
- További aktív témák...
- ZBook Fury 16 G10 16" FHD+ IPS i7-13850HX RTX 3500 Ada 32GB 1TB NVMe ujjlolv IR kam gar
- 2x Kingston FURY Impact 2x32GB DDR4 3200MHz KF432S20IB/32 összesen 64GB notiram
- Dell 27" 2K P2723D 27" IPS panel 2560x1440 QHD Pivot HDMI
- Intel I5 13600 k (1 év Garanciával )
- Asztali PC , i7 6700 , RTX 2060 , 32GB DDR4 , 240GB SSD , 500GB HDD
- Bontott, vadiúj, SPACE BLACK MacBook Pro 14" M4 10C/10G 16GB 512GB Gar.: 1 év APPLE világgarancia
- Telefon felvásárlás!! iPhone 13 Mini/iPhone 13/iPhone 13 Pro/iPhone 13 Pro Max
- Apple iPhone 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- Eladó egy oneplus 9 pro 256/12
- AKCIÓ! EZÜST! RITKASÁG! Surface Pro 11 Qualcomm Snapdragon X Elite 16GB 1000GB OLED 120Hz Gar!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest