Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
pod shitem dziala ale ciekawe jak to robic pod linuxem chodzi mi generalnie przeciazenie operatorow 2 argumentowych takich jak + - * /
przykład
#include <iostream.h> class kwadrat{ private: int a; public: kwadrat() {a=1} kwadrat (kwadrat & x) { a = x.a; } kwadrat (int a0) { a=a0; } void operator-=(kwadrat & kw) { this->a-=kw.a; } kwadrat & operator=(kwadrat & kw) { a=kw.a; return *this; } kwadrat operator-(kwadrat & kwa) { return kwadrat(a-kwa.a); } ~kwadrat() {} friend ostream& operator<<(ostream & os, kwadrat & xx); }; ostream & operator<<(ostream & os, kwadrat & xx) { os << xx.a << endl; return os; } int main(void) { kwadrat cos cos1(10), cos2(7); cout << "pocz cos1=" << cos1; cout << "pocz cos2=" << cos2; cout <<" cos = cos1 - cos2" << endl; cos = cos1 - cos2; cout << "cos=" << cos; cout << "cos=" << cos1; cout << "cos=" << cos2; return 0; }
Offline
np. tak:
kwadrat& operator+ (kwadrat ka, const kwadrat& kb) { return ka+= kb; }
w tym przykladzie musisz miec oczywiscie wczeniej napisany operator +=
kwadrat& kwadrat::operator+=(const kwadrat& kw) { a = kw.a; return *this; }
i tak samo robisz - * / % i co tam jeszcze sie da dwuargumentowego.
Offline