| | |
| Stránka: 1 z 1
| [ Príspevkov: 2 ] | |
Autor | Správa |
---|
Registrovaný: 12.07.09 Prihlásený: 17.09.09 Príspevky: 4 Témy: 3 |
Zdravim vsetkych C++ programatorov.
Narazil som na 1 problem v C++ a potreboval by som s nim poradit.
Problem vysvetlim na priklade.
Majme triedu reprezentujucu datovu strukturu fronta.
Kód: class Queue { private: const int MaxSize; int * poleInt;
...........
}; Vzhladom na to, ze datovy clen obsahuje smernik na pole celych cisel reprezentujuce prvky danej fronty, musi sa definovat (okrem ineho) aj explicitny operator priradenia napr. v tvare Kód: Queue & operator=(const Queue & queue); Ale pri implementovani danej clenskej metody vznika vazny problem. Totiz kazda fronta ma svoju obmedzenu velkost na hodnotu MaxSize, t. j. MaxSize je nestaticky clen a pre kazdu vytvorenu frontu iny. V implementacii metody explicitneho operatora priradenia vsak nie je mozne pouzit nasledovne Kód: Queue & Queue::operator=(const Queue & queue) { MaxSize = queue.MaxSize;
...... }
pretoze MaxSize je konstanta a nie l-value.
Poradte pls ako tento problem vyriesim, lebo ako sa nad tym zamyslam, nevidim ako by sa to dalo obist.
Dakujem
peter100
//zdrojak patri do code (stenley)
|
|
Registrovaný: 30.04.08 Prihlásený: 15.05.15 Príspevky: 884 Témy: 3 |
Inicializovat konstanty mozes len pri vytvarani objektu. Ich hodnota sa potom nikde inde neda menit, teda ani v metode operator=(). Preto mozes asi len deklarovat MaxSize ako premennu, nie konstantu.
A zda sa mi cudne priradovat jednu frontu druhej...
_________________ Empty your memory, with a free()… like a pointer! If you cast a pointer to an integer, it becomes the integer, if you cast a pointer to a struct, it becomes the struct… The pointer can crash…, and can overflow… Be a pointer my friend… |
|
| Stránka: 1 z 1
| [ Príspevkov: 2 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| Mám sa učiť C ++/objective C/ C#? v Assembler, C, C++, Pascal, Java | 5 | 732 | 08.07.2014 20:40 XOLOO | | K: PC Literaturu- C++/C#/java/python/ruby/RoR v Kúpim | 0 | 411 | 13.05.2014 18:16 expresado | | rozdiel medzi Borland 3.1 C++ vs Net. C++ v Assembler, C, C++, Pascal, Java | 4 | 577 | 20.07.2010 12:54 walther | | Hladam hracov na C&C Generals Zero Hour v Počítačové hry | 10 | 1250 | 07.03.2007 19:22 Spirit | | Naučte se C++ za 21 dní + C++Builder 6 v Assembler, C, C++, Pascal, Java | 18 | 2414 | 21.05.2010 21:08 Wpegb | | Hledá se programátor C/C++ pro vesmírné projekty (Praha) v Ponuka práce | 0 | 1123 | 10.05.2016 14:59 evolvsys | | aky je rozdiel medzi C++ a Visual C++ ? v Assembler, C, C++, Pascal, Java | 8 | 1964 | 19.02.2011 22:46 vendo2 | | Čo mi treba na programovanie v C/C++ v Assembler, C, C++, Pascal, Java | 17 | 1147 | 25.09.2011 18:14 reDo | | Hladame 3x C/C++ Linux developer- projekt 11/2016-2/2017 v Ponuka práce | 1 | 552 | 24.10.2016 15:28 michalesku | | Darujem knihy o programovaní (HTML, Java, Visual C++, C++ Builder, Android) v Vymením a darujem | 0 | 431 | 01.04.2019 11:20 tomasteicher | | C&C Generals : Zero Hour - turnaj v Počítačové hry | 0 | 775 | 25.02.2009 20:18 k0t0l | | C# alebo C++ appka/program na výpočty v Assembler, C, C++, Pascal, Java | 1 | 385 | 20.03.2015 22:36 walther | | Ako nastavit grafikuv AMD catalyst c.c. v ATI/AMD grafické karty | 17 | 1483 | 26.12.2013 11:38 walther | | C - Ako prekompilovať .c súbor do .exe? v Assembler, C, C++, Pascal, Java | 7 | 555 | 02.11.2012 18:47 MasterMatoSK | | C# alebo C++ , ktore knizky na ucenie? v Assembler, C, C++, Pascal, Java | 20 | 1795 | 12.02.2011 0:12 The | | program na projekt (C#, C++, pascal, java) v Assembler, C, C++, Pascal, Java | 2 | 833 | 12.03.2009 12:08 Svjatogor |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|