→ Для вступления в общество новичков и профессионалов программирования, пожалуйста нажмите здесь ...

Форум программистов: C++, Basic, Delphi, Pascal, JavaScript
Логин: Пароль:
Запомнить?  
@Mail.ru



Начать новую тему Ответить на тему  [ 1 сообщение ] 
Классы и основы наследования, с++ 
Автор Сообщение
Начинающий

Регистрация: 19.05.2012
Сообщения: 2

Репутация: 0 [ ? ]
Сообщение Классы и основы наследования, с++
Последняя лабораторная работа семестра. Немаленькая...про классы мало что знаю. Сложно ли это сделать? Не могли бы помочь ?

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 17:38
Профиль Отправить email
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 


Кто сейчас на конференции

Зарегистрированные пользователи: Yahoo [Bot]


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

Перейти:  
cron
© 2013 «Форум программистов Украины»