![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 09.02.2009
Сообщений: 35
|
![]()
Последняя лабораторная работа семестра. Немаленькая...про классы мало что знаю. Сложно ли это сделать? Не могли бы помочь ?
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(бок) |
![]() |
![]() |
![]() |
#2 |
Сама себе режиссер
Старожил
Регистрация: 27.04.2007
Сообщений: 3,365
|
![]()
Где наработки?
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 09.02.2009
Сообщений: 35
|
![]()
Честно говорю, нету наработок.
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 09.02.2009
Сообщений: 35
|
![]()
Может у кого-то есть похожие задания, наработки? Помогите пожвлуйста.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Класс одиночного наследования. | wwe2012 | Общие вопросы C/C++ | 0 | 04.04.2011 09:34 |
Класс наследования | wwe2012 | Общие вопросы C/C++ | 0 | 02.04.2011 09:41 |
Класс одиночного наследования | wwe2012 | Общие вопросы C/C++ | 0 | 01.04.2011 10:06 |
Класс одиночного наследования | wwe2012 | Общие вопросы C/C++ | 0 | 30.03.2011 17:20 |
Класс одиночного наследования. | wwe2012 | Общие вопросы C/C++ | 0 | 20.03.2011 21:38 |