База ответов ИНТУИТ

Программирование на С/С++

<<- Назад к вопросам

Чем отличается оператор присваивания от оператора присваивания с переносом?

(Ответ считается верным, если отмечены все правильные варианты ответов.)

Варианты ответа
передаваемые в класс-приёмник ресурсы объекта-источника, должны быть обнулены в объекте-источнике(Верный ответ)
передаваемый в качестве параметра объект должен быть уничтожен в коде оператора
в качестве входного параметра используется ссылка на право-допустимое значение(Верный ответ)
используются умные указатели на передаваемые ресурсы объекта класса
Похожие вопросы
Какие утверждения верны относительно конструктора переноса и оператора присваивание с переносом?
Чем отличается обработка ошибок посредством прерываний от проверки кода возврата?
<pre>//====================== start of sample.cpp ========================== class Person { public: short m_age; const char* m_name; const char* m_surname; }; class Library { public: long m_books_count; std::string m_name; static std::string m_city; }; class Program { public: std::string prog_name; long version; void* prog_data; }; class Region { public: short country_code; short city_code; std::shared_ptr&lt;Library&lt; main_library; };//====================== end of sample.cpp ========================== </pre> Для какого из классов в фрагменте файла sample.cpp необходима реализация своего оператора копирования?
<pre> //====================== start of sample.hpp ========================== class ARef { public: /* Сonstructory */ ARef(A&amp; a, int i) : _a(a), _ix(i) {} /* operator= */ ARef&amp; operator= (T t) { return *this;} private: A&amp; _a; // Reference to A object int _ix; // index in container }; class BRef { public: BRef(B &amp;b, int i) : _b(b), _ix(i) {} BRef&amp; operator= (T t) { return *this;} private: B&amp; _b; int _ix; }; /* * Class CRef имплементирует шаблон проектирования X * хранит в себе ссылку на коллекцию типа A, которая является коллекцией * объектов типа T и предоставляет к ним доступ */ class CRef { public: CRef(C &amp;c, int i) : _c(c), _ix(i) {} CRef&amp; operator= (T t) { return *this;} private: C&amp; _c; /* та коллекция объектов, доступ к которой и предоставляется*/ int _ix; /* индекс текущего объекта в контейнере */ }; /* * Class DRef */ class DRef { public: // конструктор инициализирует объект DRef(D &amp;d, int i) : m_d(d), _ix(i) {} // оператор возвращает ссылку на себя DRef&amp; operator= (T t) { return *this;} private: D&amp; m_d; // хранимый объект int _ix; // индекс }; //====================== end of sample.hpp ========================== </pre> Комментарии какого из классов в файле sample.hpp являются необходимыми и достаточными?