Skip to content

2 Home Work

Konychev Valera edited this page Feb 11, 2019 · 5 revisions

Теория:

!Теоретическое задание выполняется письменно!

  1. Повторите и перечислите какие типы памяти в С есть, как и когда на них выделяются переменные, их время жизни.
  2. Какие способы управления областями видимости в языке С вы знаете?
  3. Какие способы управления областями видимости в языке С++ вы знаете? Что такое namespace?
  4. Для чего нужны ключевые слова public: и private:?
  5. Что особенного в конструкторе и деструкторе класса, что их отличает от других методов.
  6. Для чего нужны операторы new и delete?
  7. Что такое и для чего нужен указатель this?
  8. что такое std::cout и std::cin?

Практика:

  1. Реализуйте класс стека.
  • В файле Stack.h опишите class Stack, он обязательно должен содержать следующие методы, но ими интерфейс может не ограничиваться:
    • push - поместить элемент на стек.
    • pop - снять элемент с вершины стека.
    • isFull - проверка полон ли стек или нет.
    • isEmpty - проверка пуст ли стек или нет.
    • dump - распечатка стека.
  • В файле Stack.spp реализация его методов.
  • В файле main.cpp протестируйте свой класс, продемонстрируйте его работоспособность.
  • Напишите Makefile для сборки вашей библиотеки и тестовой программы(параметры сборки -Wall -Wextra -Werror -std=c++14 -O3).
    • команда make без параметров должна всё собрать.
    • make clean - очистить созданные исполняемые и объектные файлы (артифакты)
    • make exec - собрать и запустить тестовый исполняемый файл main.
Clone this wiki locally