-
Notifications
You must be signed in to change notification settings - Fork 13
3 Home Work
Konychev Valera edited this page May 12, 2019
·
7 revisions
!Теоретическое задание выполняется письменно!
- Что такое lvalue и rvalue ссылки, чем они отличаются друг от друга?
- Что такое списки инициализации конструктора? Зачем они нужны?
- Какие типы конструкторов вы знаете? В чём особенность каждого из них, зачем он нужен?
- Как и для чего нужно использовать const в методах класса?
- Как можно переопределять операторы в с++? Какие есть ограничение?
- Для чего нужно ключевое слово friend?
- В чём особенность new и delete по сравнению с malloc() и free().
- Придумать и реализовать свой собственный класс.
-
Определите все необходимые для вашего класса конструкторы, если какой-то тип конструктора для Вашего класса не нужен, то напишите почему вы так считаете.
-
В классе должно быть перегруженно не менее 4 операторов, влючая operator<< и operator>>. Можете перегрузить и больше 4 операторов, но помните о здравом смысле.
-
Пожалуйста не забудьте про комментарии - пользователю не всегда очевидно, что делают ваши методы.
-
В файле main.cpp протестируйте свой класс, продемонстрируйте его работоспособность.
-
Напишите Makefile для сборки вашей библиотеки и тестовой программы(параметры сборки -Wall -Wextra -Werror -std=c++14 -O3).
- команда make без параметров должна всё собрать.
- make clean - очистить созданные исполняемые и объектные файлы (артефакты)
- make exec - собрать и запустить тестовый исполняемый файл main.
P.S. Если не знаешь, что реализовать, то загляни в телефонную книгу.