[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