[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Otazka na C++ programatory
> Mam problem: Potrebuju udelat pretezovani operatoru "=" tak, aby kdyz je
> na leve
> strane = treba integer, a na prave strane nejaka trida, aby mi to
> zavolalo nejakou moji
> funkci, ktery vybere co potrebuju z ty tridy a vrati to do toho integeru.
>
> Priklad:
>
> class pokus
> {
> public:
> pokus();
> pokus(int);
>
> private:
> float f;
> };
>
> pokus::pokus(int n)
> {
> f=(float)n;
> }
>
> void main()
> {
> pokus p;
> int a=4;
>
> p=a; //tohle zafunguje a do promenne f tridy pokus se ulozi obsah
> promenne a
>
> //ale jak dosahnu tohohle:
>
> a=p; // ?????
>
> }
>
Zkus zadefinovat operator pro pretypovani pokus na int. Nekdy se to pak musi
presmerovat explicitne, jindy to udela C++ samo.
pokus::operator int() { return (int)f };
Rudla Kudla