Witam,
Szukałem pomocy w internecie oraz na forum, ale niestety nie pomogło..
Muszę napisać przeładowanie operatora + który ma dodawać dwa obiekty tej samej klasy. Problem polega na tym, że wywołanie ma wyglądać następująco:
cout<<"\nSuma Pól: "<<(k1+k2);
A to cały kod:
#include <iostream>
using namespace std;
class kwadrat
{
public:
int dlugosc;
int p;
kwadrat (int a=1)
{
dlugosc=a;
p=pole();
}
void wyswietl()
{
cout<<"Długość boku wynosi: "<<dlugosc;
}
int pole()
{
return dlugosc*dlugosc;
}
const kwadrat operator+(const kwadrat& n) {
kwadrat suma;
suma.p=this->p+n.p;
return suma;
}
};
class prostokat: public kwadrat
{
int a,b;
public:
prostokat (kwadrat x, int y):kwadrat (y)
{
a=x.dlugosc;
b=y;
}
int pole()
{
cout<<"\n\n\n a= "<<a;
cout<<"\n\n\n b= "<<b;
return a*b;}
};
/*===============================================================================*/
int main (int argc, char *argv[])
{
kwadrat k1,k2(10), *w;
prostokat p1(10,40);
w=&k2; w->wyswietl();
cout<<"\nPole: "<<(*w).pole();
w=&p1; w->wyswietl();
cout<<"\nPole: "<<p1.pole();
cout<<"\nSuma Pól: "<<(k1+k2);
return 0;
}
W jaki sposób napisać przeładowanie operatora aby można było go wywołać k1+k2 i wyświetlić cout?
Z góry dzięki za pomoc ;)