Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 23.05.2012, 21:45   #1 (permalink)
Tester123
Новичок
 
Регистрация: 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(бок)
Tester123 вне форума   Ответить с цитированием

Старый 23.05.2012, 21:45
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Тема которую вы создали очень схожа с другими темами нашего форума

Основы механики
Задание по С#, простейшие классы
Delphi и классы
Хочу познать основы микросхем, микроконтроллеров

Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 12:50.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.