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.
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!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!