Сделай Сам Свою Работу на 5

Нарисуйте структуру двухсвязного кольцевого списка.





 

Перечислите основные свойства объектно–ориентированного программирования (ООП).

C++ добавляет к C объектно-ориентированные возможности. Он вводит классы, которые обеспечивают три самых важных свойства ООП: инкапсуляцию, наследование и полиморфизм.
33. Раскройте смысл понятия – инкапсуляция класса.

Основным способом организации информации в C++ являются классы. В отличие от структуры (struct) языка C, которая может состоять только из полей и вложенных типов, класс (class) C++ может состоять из полей, вложенных типов и функций-членов (member functions). Инкапсуляция в С++ реализуется через указание уровня доступа к членам класса: они бывают публичными (открытыми, public), защищёнными (protected) и собственными (закрытыми, приватными, private). В C++ структуры формально отличаются от классов лишь тем, что по умолчанию члены и базовые классы у структуры публичные, а у класса — собственные.
34. Какую роль в ООП играет наследование?

Наследование - один из главных механизмов ООП. С его помощью можно разрабатывать очень сложные классы, продвигаясь от общего к частному, а так же наращивать уже созданные классы, получая от них новые классы, отличающиеся от исходных классов.
35. Что такое полиморфизм?



Полиморфизм— возможность класса–потомка менять реализацию класса–отца сохраняя при этом его интерфейс.Иными словами переопределение наследником функций-членов базового класса (одно и то же имя операции, функции или класса может использоваться для различного типа данных).
Кратко смысл полиморфизма можно выразить фразой: «Один интерфейс, множество реализаций».
Полиморфизм позволяет писать, более абстрактный код, тем самым повышая коэффициент повторного использования кода. Общие свойства объектов объединяются в систему, которую могут называть по-разному — интерфейс или класс.
Какая именно из функций будет вызвана определяется во время компиляции-статический полиморфизм.
Но в C++ есть и динамический полиморфизм, когда вызываемая функция определяется во время выполнения. Для этого функции-члены базового класса должны быть объявлены виртуальными.
36. Какое ключевое слово начинает определение класса?

Каждое определение класса начинается с ключевого слова class, затем следует имя класса, и далее пара фигурных скобок, которые заключают в себе определение свойств и методов этого класса.
37. Что понимается под элементами класса?



Определение класса вводит новый тип и специфицирует элементы- данные, необходимые для представления объектов определенного типа, и операции для работы с этими объектами, т.е. функции-элементы класса. Элементы - данные класса определяют состояние объекта, а функции-элементы обуславливают поведение объекта класса.
Вообще, в классах могут объявляться элементы типа public, private и protected (общие, приватные, и защищенные).

38. С помощью какой операции осуществляется доступ к элементам класса в сочетании с объектом класса?

.

39. С помощью какой операции осуществляется доступ к элементам класса в сочетании с указателем на объект класса?

.*

40. Какая функция вызывается для выполнения инициализации класса?

Для инициализации класса вызывается конструктор.

41. Каково назначение деструктора?

Деструктор — специальный метод класса, служащий для деинициализации объекта (например освобождения памяти).

42. Какие операции в языке С++ не могут быть перегружены?

Следующие четыре оператора языка C++ не могут быть перегружены:

:: Разрешение области видимости

.* Указатель на элемент

. Выбор элемента

?: Условный оператор сравнения

43. Приведите структуру построения функции – операции.

тип_возвращаемого_значения класс::operator знак(тип_получаемого_значения)

{ <операторы> }

Чем отличается перегрузка унарных и бинарных операций?



Бинарный оператор - это функция от двух параметров, параметрами которой являются левый и правый операнды оператора.

Унарный оператор - это оператор от одного параметра. Если он объявлен внутри класса, то этим параметром (неявным) является this.

Могут ли быть перегружены операции инкремента и декремента в префиксной форме?

Да.

Какие возможности предоставляет наследование при разработке программного обеспечения?

Наследование — механизм языка позволяющий написать новый класс на основе уже существующего (родительского, базового) класса. Класс–потомок может добавить собственные методы и свойства и пользоваться родительскими методами и свойствами. Позволяет строить иерархии классов.

Укажите основное назначение шаблонов.

Шаблоны предназначены для кодирования общих алгоритмов, без привязки к некоторым параметрам (например, типам данных, размерам буферов, значениям по умолчанию).

C какого ключевого слова должно начинаться описание шаблона функции?

template.

 

49. Наличием ключевого слова template и списком формальных параметров типов и возможностью параметризации каких-либо типов в теле класса.

50. class или typename

51. - Перед началом описания должны находиться template и список формальных параметров типов.

- Перед каждым формальным параметром типа должно быть ключевое слово class.

- хз, походу, всё.

КОНЕЦ

 

 

 

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.