В чем разница между конструктором копирования и оператором присваивания?

Статьи / Технологии

В чем разница между конструктором копирования и оператором присваивания?


Самые красивые фото и картинки по темам на PiBig -  Фон в стиле Минимализм


Основное  различие  между конструктором копирования и оператором присваивания заключается в том, что  конструктор копирования — это тип конструктора, который помогает создать копию уже существующего объекта, не затрагивая значения исходного объекта, тогда как оператор присваивания — это оператор, который помогает присвоить новое значение переменной в программе.

Конструктор — это специальный метод, который помогает инициализировать объект при его создании. Он имеет то же имя, что и имя класса , и не имеет возвращаемого типа. Программист может написать конструктор, чтобы присвоить начальные значения переменным экземпляра в классе. Если в программе нет конструктора, будет вызван конструктор по умолчанию. Конструктор копирования — это тип конструктора, который помогает создать копию существующего объекта. С другой стороны, оператор присваивания помогает присвоить новое значение переменной.

Ключевые области охвата

1. Что такое конструктор копирования?
     – Определение, функциональность
2. Что такое оператор присваивания?
     – Определение, функциональность
3. В чем разница между конструктором копирования и оператором присваивания?
     – Сравнение ключевых отличий

Основные условия

Конструктор, Конструктор копирования, Оператор присваивания, Переменная

Что такое конструктор копирования

В программировании иногда необходимо создать отдельную копию объекта, не затрагивая исходный объект. В таких ситуациях полезен конструктор копирования. Позволяет создать реплику существующего объекта того же класса. См. пример ниже.

Рисунок 1: Программа с копией конструктора

Класс Triangle имеет две переменные экземпляра, называемые base и height. В строке 8 находится параметризованный конструктор. Нужны два аргумента. Эти значения присваиваются переменным base и height экземпляра. В строке 13 находится конструктор копирования. Требуется аргумент типа треугольника. Новое базовое значение объекта присваивается базе переменной экземпляра. Точно так же новое значение высоты объекта присваивается высоте переменной экземпляра. Кроме того, существует метод calArea для вычисления и возврата площади.

В основном методе t1 и t2 являются объектами Triangle. Объект t1 передается при создании объекта t2. Конструктор копирования вызывается для создания объекта t2. Следовательно, основание и высота объекта t2 такие же, как основание и высота объекта t1. Наконец, оба объекта имеют одинаковую площадь.

Что такое оператор присваивания?

Оператор присваивания полезен для присвоения нового значения переменной. Оператор присваивания — «=». Когда есть такое утверждение, как c = a + b; сумма «a» и «b» присваивается переменной «c».

Рисунок 2: Программа с оператором присваивания

Номер класса имеет переменную экземпляра с именем num. В строке 7 нет конструктора параметров. Однако в строке 9 есть параметризованный конструктор. Он принимает аргумент и присваивает его переменной экземпляра с помощью оператора присваивания. В строке 12 есть метод display для отображения числа. В основном методе num1 и num2 — это два объекта типа Number. Печать num1 и num2 предоставляет ссылки на эти объекты. Число 3 имеет тип Число. В строке 24 num1 присваивается num3 с помощью оператора присваивания. Следовательно, num3 относится к объекту num1. Следовательно, распечатка num3 дает ссылку num1.

Оператор присваивания и его варианты следующие.

Оператор функциональность Пример
знак равно Присваивает правый операнд левому операнду  г = х + у
+= Добавить правый операнд к левому операнду и присвоить результат левому операнду z + = y эквивалентно z = z + y
знак равно Вычесть правый операнд из левого операнда и присвоить результат левому операнду. z – = y эквивалентно


г = г -у

знак равно Умножает правый операнд на левый операнд и присваивает результат левому операнду. z * = y эквивалентно


г = г * у

знак равно Разделите левый операнд на правый операнд и присвойте ответ левому операнду. z / = y эквивалентно


г = г / у

знак равно Возьмите модуль с двумя операндами и присвойте ответ левому операнду. z% = y эквивалентно


г = г% у

<<= Сдвиг влево и оператор присваивания z << 5 эквивалентно


г = г <<5

>> = Сдвиг вправо и оператор z >> 5 эквивалентно


г = г >> 5

знак равно Оператор присваивания битов и AND z & = 5 эквивалентно


г = г & 5

^ = Оператор присваивания и побитовое исключающее ИЛИ z ^ = 5 эквивалентно


г = г ^ 5

| знак равно Оператор присваивания и побитовое включающее ИЛИ г | = 5 эквивалентно z = z | 5

Разница между конструктором копирования и оператором присваивания

Определение

Конструктор копирования — это специальный конструктор для создания нового объекта как копии существующего объекта. Напротив, оператор присваивания — это оператор, который используется для присвоения нового значения переменной. Эти определения объясняют основную разницу между конструктором копирования и оператором присваивания.

Функциональность объекта

Функциональность объекта также является важным отличием конструктора копирования от оператора присваивания. Конструктор копирования инициализирует новый объект существующим объектом, а оператор присваивания присваивает значение объекта другому объекту, который уже существует.

Использовать

Конструктор копирования помогает создать копию существующего объекта, а оператор присваивания помогает присвоить новое значение переменной. Это еще одно различие между конструктором копирования и оператором присваивания.

вывод

Разница между конструктором копирования и оператором присваивания заключается в том, что конструктор копирования — это тип конструктора, который помогает создать копию уже существующего объекта, не затрагивая значения исходного объекта, в то время как оператор присваивания — это оператор, который помогает присвоить новый значение переменной в программе.

Что такое лид? Как классифицировать и привлекать потенциальных клиентов
Что такое лид? Как классифицировать и привлекать
09.02.2022, Статьи
Исслeдoватели прeдупрeждaют о нoвoй уязвимoсти Jаvа, пoхoжeй нa Log4Shell
Исслeдoватели прeдупрeждaют о нoвoй уязвимoсти
06.03.2022, Статьи / Безопасность
Разница между сериалами и фильмами
Разница между сериалами и фильмами
25.05.2022, Статьи
Подъемники мачтового типа
Подъемники мачтового типа
09.02.2022, Статьи
Что такое написание контента?
Что такое написание контента?
06.04.2022, Статьи
Почему турниры очень важны?
Почему турниры очень важны?
09.02.2022, Статьи
9 советов по созданию лучшего веб-сайта
9 советов по созданию лучшего веб-сайта
27.10.2021, Статьи
Детские дни рождения и почему они так важны
Детские дни рождения и почему они так важны
22.10.2021, Статьи
Movie
В данной публикации отсутствуют комментарии !

Перед публикацией, советую ознакомится с правилами!

{login}

Твой комментарий..


Кликните на изображение чтобы обновить код, если он неразборчив


Комментарии
{title}
Что такое колодец и зачем он нужен
Высокомоментный лопастной гидромотор ВЛГ-400А. Предназначен для безредукторного привода горных
admin, 25 января 2023 22:41
{title}
В Канаде снесены статуи королевы Виктории и королевы Елизаветы II
Аренда Nissan GT-R в Сочи прокат без водителя. У нас Вы можете взять напрокат спорткар Nissan GTR
admin, 13 января 2023 18:59
{title}
Каждый автомобиль американского производства — импортный. Это плохая новость для автопроизводителей.
Сотрудничая с нами, ваши грузы всегда доставляются безопасно и вовремя. Нашим уважаемым клиентам
admin, 22 декабря 2022 16:02
{title}
Как работают киноэкраны
Курьерская служба — это компания, которая предлагает специальные доставки посылок, денег,
admin, 16 декабря 2022 19:05
{title}
Язык цветов
Хочешь платье напрокат в Екатеринбурге? Тебе к нам. Вечерние платья, наряды на корпоратив или
admin, 17 октября 2022 11:48


Все комментарии..
Полный список последних комментариев