Cześc, z takiego czegoś będę mięć kartkówkę
#include <iostream>
using namespace std;
class A
{
public:
int *x;
A(int arg)
{
//arg = 3;
x = new int;
*x = arg;
}
~A()
{
delete x;
}
A(A &argument)
{
x = new int;
*x = *(argument.x);
}
A &operator= (A &q)
{
if(this==&q) { return *this; }
delete x;
x = new int;
*x = *(q.x);
return *this;
}
};
/*void f(A arg)
{
*(arg.x) = 2;
}*/
int main()
{
A y(2);
A q(3);
A g(7);
y.operator=(q.operator=(g)); // przypisanie y=(q=g)
//*(y.x)=3;
//f(y);
cout << *(y.x) << endl;
cout << *(q.x) << endl;
cout << *(g.x) << endl;
}
wytłumaczy ktoś ten kawałek kodu, z góry dzięki?
A &operator= (A &q)
{
if(this==&q) { return *this; }
delete x;
x = new int;
*x = *(q.x);
return *this;
}
};