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/.




matka przelozona
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
Członek DUG

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