Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ardos
-133 / 7 / 0
Регистрация: 24.02.2013
Сообщений: 234
#1

Виртуальные функции: создание фабрики объектов для множества фигур - C++

14.05.2013, 14:11. Просмотров 534. Ответов 1
Метки нет (Все метки)

C++,консольное приложение.Задание на использование виртуальных функций.Задание подразумевает создание фабрики объектов для всех 7 фигур(Треугольник,квадрат,прямоугольник,параллелограмм,трапе ция,шестиугольник,восьмиугольник) выбор 2-х из них ПРЯМОУГОЛЬНИК,ТРАПЕЦИЯ и применение написанных только для этих двух классов функций класса Operation.

класс operation

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Operation
{ //Класс, инкапсулирующий методы обработки объектов  классов
public:
    void Compare(Shape* s1, Shape* s2)
     {// Проверка правильности подбора типов фигур
         if ((s1->ID=='T' && s2->ID=='R')||(s2->ID=='T' && s1->ID=='R'))
         cout<<"Correct choice"<<endl;
     else {cout<<"Not such operation"<<endl;  return;}
     //Вычисления
    if (s1->GetArea()> s2->GetArea())  cout<<"Area "<<s1->ID<<" > "<<s2->ID<<endl;
     if (s1->GetArea()==s2->GetArea()) cout<<"Area "<<s1->ID<<" = "<<s2->ID<<endl;
     if (s1->GetArea()< s2->GetArea()) cout<<"Area "<<s1->ID<<" < "<<s2->ID<<endl;  
      }
       void IsInclude(Shape* s1, Shape* s2)
       {/* */}
        void IsIntersect(Shape* s1, Shape* s2)
       {/* */}
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2013, 14:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Виртуальные функции: создание фабрики объектов для множества фигур (C++):

Создание фабрики по созданию объектов - C++
Здорова! Тут вычитал, что создание объектов лучше поручать отдельному классу который называют фабрика, а его функции виртуальными...

Виртуальные функции после чтения объектов - C++
есть два класса, базовый и дочерний. Используются виртуальные функции. Записываю объекты классов в файл, и после чтения виртуальные...

Создание множества объектов - C++
Нужно создать довольно большое количество объектов, так что писать вручную глупо. В основном меня интересует, чтобы объекты имели...

Разработать класс Product. Произвести создание нескольких объектов, вызвать для них созданные функции - C++
Для каждого класса необходимо: 1. Реализовать два конструктора a. конструктор без параметров b. конструктор с параметрами 2....

Для чего виртуальные функции? - C++
Как я понял в классах наследниках их можно использовать,для одинаковых имен функций. Но помойму это не главное их свойство.

Виртуальные функции для наследников - C++
Здравствуйте. У меня есть класс Aray с виртуальной функцией поэлементного сложения массивов. class Aray {....... virtual Aray...

1
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
14.05.2013, 14:43 #2
Пробуй проверять нужные типы с помощью dynamic_cast()
примерно так:
C++
1
2
3
4
5
6
7
void Compare(Shape* s1, Shape* s2)
{
 if(dynamic_cast<pr9moygol6nik*>(s1)!=0&&dynamic_cast<pr9moygol6nik*>s2!=0)
//oba pr9moygol6nika делаешь то что тебе нужно вызываешь нужные функции
if(dynamic_cast<trapeci9*>(s1)!=0&&dynamic_cast<trapeci9*>s2!=0)
//oba trapecii делаешь, то что тебе нужно.
}
Добавлено через 3 минуты
Или как тебе нужно можешь по одному проверять
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2013, 14:43
Привет! Вот еще темы с ответами:

Создание функций для фигур - C++
Всем доброго времени суток. Помогите, пожалуйста, разобраться как можно написать программу. Условие следующее: &quot;Создайте функции Square –...

виртуальные и чисто виртуальные функции - C++
Чем они отличаются?? если можно, с примерами. И как из виртуальной функции сделать чисто виртуальную? #include &lt;iostream&gt; using...

Для чего нужны виртуальные функции и виртуальное наследование ? - C++
Для чего нужны виртуальные функции и виртуальное наследование ? Я нашел не сколько статей но не все понял. Заранее спасибо!

Функция, которая вычислит периметры множества фигур - C++
Помогите с программой: Создайте функцию Sqware, предназначенную для вычисления периметра прямоугольников, квадратов, треугольников и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru