Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Абстрактный базовый класс + виртуальные функции, Абстрактный базовый класс 
V
    Опции темы
14SatanA88
Дата 1.12.2010, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 13.5.2010

Репутация: нет
Всего: 5



Доброго времени суток, уважаемые программеры!
Понимаю, что прошу многого, но сам в этом задании ни черта не могу разобраться.


Общие требования к разрабатываемому программному решению:
?    вывод на экран;
?    методы получения значений полей;
?    методы установки значений полей;
?    необходимые конструкторы (если это не указано в задании явно).
Конструкторы и методы обязательно должны проверять параметры на допустимость; в случае  неправильных данных – выводить сообщение об ошибке и заканчивать работу.
Для демонстрации работы с объектами нового типа во всех заданиях написать главную функцию. В программе должны присутствовать различные способы создания объектов, массивов объектов. Программа должна демонстрировать использование всех функций и методов.
В следующих заданиях реализовать абстрактный базовый класс, определив в нем чистые виртуальные функции.
Кроме указанных выше требований к разрабатываемому программному коду, в основную программу, использующую объект созданного класса написать код, в котором отображены возможности использования объектов этих классов в динамической памяти.
Создать абстрактный базовый класс Body (тело) с виртуальными методами вычисления площади поверхности и объема. Создать производные классы: Parallelepiped (параллелепипед) и Ball (шар) со своими функциями площади поверхности и объема.

Буду очень благодарен, если Вы поможете с примерами либо объясните мне суть этой задачи.
PM MAIL ICQ   Вверх
RastaDja
Дата 1.12.2010, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 337
Регистрация: 1.11.2010

Репутация: 3
Всего: 5



абстрактный класс

Код

Class Body{
public:
   virtual void Draw() = 0;   //вывод
   virtual int Area() = 0      //площадь
   virtual int Volume() = 0  //обьем
}


класс Parallelepiped
Код

Class Parallelepiped :public Body{
public:
   int a, b, c;   //длины сторон
   Parallelepiped(){
       a=0;
       b=0;
       c=0;
   }
   Parallelepiped(int pa, int pb, int pc){
       a=pa;
       b=pb;
       c=pc;
   }

   void newData(int pa, int pb, int pc){//изменение данных
        a=pa;
        b=pb;
        c=pc;
    }

   void Draw() {   //вывод
       cout<< "a="<<a <<" b="<<b<<" c="<<c<<;
   }
   int Area() {      //площадь
       return 2*(a+b+c);
   }
   int Volume(){  //обьем
      return a*b*c;
   }
}


кля шара аналогично


--------------------
The more closely you look at one thing, the less closely can you see something else.
PM MAIL   Вверх
14SatanA88
Дата 1.12.2010, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 13.5.2010

Репутация: нет
Всего: 5



RastaDja,  огромное спасибо!
PM MAIL ICQ   Вверх
RastaDja
Дата 1.12.2010, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 337
Регистрация: 1.11.2010

Репутация: 3
Всего: 5



незачто


--------------------
The more closely you look at one thing, the less closely can you see something else.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0421 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.