2. Почему если в operator`e[] написать return с, все работает точно также как и при return v; и вообще как работает operator[], что-то сам не могу понять как сделал. Почему vec[2] = 4 работает (вроде понимаю, но нужно слово того кто знает!)?
Код:
Код: Выделить всё
#include
class vector
{
int* v;
int* c;
public:
vector (int);
~vector ();
int& operator[] (int);
};
vector::vector (int s)
{
v = new int [s];
c = new int [s];
};
vector::~vector()
{delete v;
delete c;};
int& vector::operator[](int i)
{
return v[i];
};
vector vec(10);
main ()
{
vec[2] = 6;
cout