Kezdőoldal » Számítástechnika » Programozás » C++: '=' operátor túlterhelés...

C++: '=' operátor túlterhelés oda-vissza saját és beépített típus között . Hogyan?

Figyelt kérdés

class A

{

private: int a;


public:

A()

{a=0;}


A(int _a)

{a=_a;}


A operator=(const int &other)

{return A(other);}


int operator=(const A &other) //ezt hogy kene atirni?

{return other.geta();} //error


int geta(){return a;}


};



int _tmain(int argc, _TCHAR* argv[])

{

int i=10;

A a=i;

i=a; //error



cout << a.geta() << endl;


getche();

return 0;

}


Szóval azt szeretném elérni, hogy a saját típusom és az integer között oda-vissza lehessen értéket átadni '=' operátorral. Az első kiterjesztés működik, a másodikat viszont nem tudom hogyan kéne megoldani.



2012. aug. 31. 15:08
 1/1 iostream ***** válasza:
Ilyenkor kell írni egy operator int() függvényt. Csak vigyázz, mert előbb-utóbb ambigous megtámad.
2012. aug. 31. 15:23
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!