23.05.2012, 21:45 | #1 (permalink) |
Новичок
Регистрация: 23.05.2012
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Классы и основы наследования, C++
1. Разработайте класс GeometricalBody (геометрическое тело), который должен содержать защищенную (protected) переменную name типа std::string, хранящую наименование объекта этого класса, и член-функцию print() для вывода на экран этого наименования. Наименование объекту присваивается в момент создания при вызове конструктора, если же объект создается конструктором без параметров, то имя присваивается вызовом члена-функции SetObjectName. Напишите программу, которая создает и инициализирует два объекта этого класса. Один объект создается с использованием конструктора с параметром, а другой – конструктором без параметров. 2. Разработайте производный от класса GeometricalBody класс геометрического тела, указанного в вашем варианте (например, в варианте указан Cube (куб)). Класс должен содержать указанные там закрытые (private) переменные (например, для куба это а — ребро куба) и переменную name типа std::string, хранящую наименование объекта этого класса. Для присвоения имени объекту класс должен содержать функцию SetObjectName . Разработанный класс должен содержать метод Init() для инициализации членов-данных класса, а также методы, вычисляющие и возвращающие значения площадей основания getSo (), боковой getSb () и полной getSp () поверхностей по формулам, которые также приведены в вашем варианте, а также функцию print() для вывода имени объекта и значений вычисленных площадей на экран. 3. Напишите программу, которая создает и инициализирует два объекта разработанного класса, вычисляет и выводит значения площадей основания, боковой и полной поверхностей. Для создания и выполнения второго объекта используйте указатель. 4. Внесите в базовый и производный классы такие изменения, которые позволят вам продемонстрировать раннее и позднее связывания (называемые еще статическим и динамическим связыванием). Вариант: Имя класса: Trapezium_Prism (прямая призма, в основании — равнобедренная тра-пеция) Переменные: a, b — параллельные стороны, h — высота трапеции-основания, Н — высота призмы. Площади поверхностей: основания S(осн) = (a+b)h/2 боковой S(бок) = (A=B+2*sqr(1/4(a-b)^2+h^2))*H полная S(полн) = 2S(осн) + S(бок) |
23.05.2012, 21:45 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Тема которую вы создали очень схожа с другими темами нашего форума Основы механики Задание по С#, простейшие классы Delphi и классы Хочу познать основы микросхем, микроконтроллеров |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|