azrael писал(а):Объект у вас тут уже создан - это объект String. ptr - это поле этого объекта, оно у каждого экземпляра класса String свое. Любой нестатический метод класса (cpy, например) имеет скрытый первый параметр - указатель на объект, на котором надо вызвать метод. По этому указателю и совершаются все действия над объектом, в частности, изменение значений его полей. Т.е. когда вы делаете "ptr = " внутри объекта класса, на самом деле происходит "this->ptr = ", где this - указатель на объект класса String, в котором производятся все действия в методе.
Наверное, немного сумбурно объяснил![]()
Нормально !
Еще интересно почему деструктор вызывается 11 раз, я только 8 раз насчитал
Код: Выделить всё
int main() {
String a, b, c;
a = "I "; 1-ый
b = "am "; 2-ой
c = "so "; 3-ий
String d = a + b + c; 4 -7 ый
cout << d; 8-ой
cout << endl;
return 0;
}