Myclass(const Myclass& other)
{
this->Size = other.Size;
this->arr = new int[other.Size];
for (int i = 0; i < other.Size; i++)
{
this->arr[i] = other.arr[i];
}
}
Возник такой вопрос. В коде реализуется конструктор копирования обьекта . 1) Я не совсем понимаю обязательно ли всё время писать this-> как в 4, 6 и 10 строках.2)Почему после того, как мы в 4 строке присвоили в Size значение Size из копируемого обьекта, мы не пишем в 6 и 8 строках просто Size, вместо other.Size ?
Не обязательно. Если нет другого имени, например, локальной переменной, которая может скрыть переменные объекта класса, типа
Myclass(const Myclass& other)
{
int Size = 2;
this->Size = other.Size; // Тут обязательно из-за наличия int Size выше
this->arr = new int[other.Size]; // Тут не обязательно
По второму вопросу - пишите как хотите. Например
int f(int x)
{
int a = 2;
int b = a;
return x*a;
}
нет же никаких правил, писать x*a
или x*b
? :) Так и здесь - раз это одно и то же значение - используйте, как хотите...
Я бы даже писал так:
arr = new int[Size = other.Size];
Впрочем, соврал. Потому что раз это конструктор, я бы писал
Myclass(const Myclass& other):Size(other.Size),arr(new int[other.Size])
{
for (int i = 0; i < other.Size; i++)
{
this->arr[i] = other.arr[i];
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Я хочу подключить библиотеку sfeMovie (для отображения видео) к проектуДелаю всё по инструкции: http://sfemovie
У меня есть некий абстрактный класс, назовем его AbstrУ него есть чисто виртуальная функция, что выводит на экран принятый указатель (разыменовывает...
У меня есть 6 штук блоков, каждые называются одинаково, только значения в теге <b>12</b> разные
Цель состоит в том, чтобы визуализировать элементы HTML в перспективе, как в примерах ниже