Cześć, napisałem taki kod:
#include<iostream>
using namespace std;
class Dwa;
class Jeden {
int i;
public:
Jeden(int ii):i(ii) {}
Jeden operator+(Jeden& rv){
return i+rv.i;
}
friend ostream& operator<<(ostream& os,Jeden& rv){
return os << rv.i;
}
};
class Dwa {
int x;
public:
Dwa(int xx):x(xx) {}
Dwa operator+(Dwa& rv){
return x+rv.x;
}
friend ostream& operator<<(ostream& os,Dwa& rv){
return os << rv.x;
}
};
int main()
{
Jeden obiekt(5);
Dwa obiekt2(10),obiekt3(0);
cout << obiekt << ' ' << obiekt2 << '\n';
obiekt3=obiekt+obiekt2;
}
Problemem jest dodawanie dwóch obiektów różnych klas. Próbowałem napisać konwersję z jednej klasy na drugą, ale nic mi z tego nie wyszło. Jak poprawnie zdefiniować operator konwersji?