Difference between revisions of "Step 4 (S-10030)"

From Stepik Wiki
Jump to: navigation, search
(Create page for step id=10030)
 
 
Line 1: Line 1:
 
Step on Stepik: https://stepik.org/lesson/550/step/4
 
Step on Stepik: https://stepik.org/lesson/550/step/4
  
<img width="50%" src="https://ucarecdn.com/09c72aa6-ec7c-4901-a305-a62e2947922d/">
+
[[File:Step_4_(S-10030)_1.png|border|800px]]
  
 
[00:00 - 00:17] в тех случаях когда который не происходит уже существующий объект вызывает а другой нет отметок называется оператор присваивания так же как и конструктор копирования оператор присваивания будет сгенерирован компилятором автоматически если вы не пойдете вручную это важно определить оператора присваивания надо
 
[00:00 - 00:17] в тех случаях когда который не происходит уже существующий объект вызывает а другой нет отметок называется оператор присваивания так же как и конструктор копирования оператор присваивания будет сгенерирован компилятором автоматически если вы не пойдете вручную это важно определить оператора присваивания надо

Latest revision as of 12:34, 7 August 2017

Step on Stepik: https://stepik.org/lesson/550/step/4

Step 4 (S-10030) 1.png

[00:00 - 00:17] в тех случаях когда который не происходит уже существующий объект вызывает а другой нет отметок называется оператор присваивания так же как и конструктор копирования оператор присваивания будет сгенерирован компилятором автоматически если вы не пойдете вручную это важно определить оператора присваивания надо


[00:17 - 00:36] определить класса метод с именем оператор и 1 параметром таким же как и его конструкторы копирования то есть это константная ссылка на значение этого типа возвращаемое значение оператора присваивания эта ссылка на текущая


[00:36 - 00:51] значение объекта то есть текущая давайте посмотрим как можно было бы реализовать оператор присваивания для класса целочисленного массива начнем с конца в самом конце нам нужно вернуть ссылку на текущий год до этого


[00:51 - 01:06] используется обращение к указателю this ну вы таким образом получаем ссылку на текущее отвечу оператора присваивания от конструктора копирования в том что при мысли оператор присваивания


[01:06 - 01:23] уже существует объект который вы прислали поэтому перед тем как скопировать данные есть аргументы описание нам нужно сначала удалить все данные которые уже есть объект сначала удаляю


[01:23 - 01:43] динамический массив на который указывает поле после этого мы копируем значение размер массива выделяет много динамический массив соответствующего размера и копируем элементы массивов так


[01:43 - 02:01] для того чтобы наш код работал корректно и в том случае если мы попытаемся присвоить массиву самого сюда нам нужно проверить что аргумент который пришел оператор присваивания это


[02:01 - 02:17] некоторые другой массив потому что в том случае если мы попытаемся присвоить массивы значение самого себя то мы в 1 строчку удалил свой массив чтобы этого не происходило


[02:17 - 02:32] условные выражения которые проверяет они вызвали мой оператор присваивания для самого себя немного странно зачем ты счастлив от присваивания самому себе вряд ли в программе напишете о равно


[02:32 - 02:49] однако это может произойти опосредованно при использовании указателя например присваивается значение на которых обитают показатель значение которых указывает при этом вы можете не знать что это указатель указывает на 1 и тоже