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

Форум программистов: 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 сообщение ] 


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

Зарегистрированные пользователи: нет зарегистрированных пользователей


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

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