Ahoj,
snažím se zjistit jak se přetěžujou operátory v C++ a zůstal jsem u jednoho problému. Jde mi o přetížení [] nějak takhle:
#include <iostream>
class ITEM
{
public:
int a, b, c;
ITEM()
{
this -> a = 1;
this -> b = 2;
this -> c = 3;
}
int operator[]( int i ) const
{
switch ( i )
{
case 1:
return (*this).a;
case 2:
return (*this).b;
case 3:
return (*this).c;
}
}
};
int main()
{
ITEM a;
std::cout << a[ 1 ];
system( "pause" );
return 0;
}
Ale nedaří se mi přijít na to jak ten operátor přetížit tak, abych mohl použít ukazatel, jde to takhle, ale to se mi nelíbí:
int main()
{
ITEM * a = ITEM();
std::cout << (*a)[ 1 ]; // tady ta dereference...
system( "pause" );
return 0;
}
Děkuji za rady... :)