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)