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

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

Войти
Регистрация
Восстановить пароль
 
mmc11
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 6
#1

На основе созданного класса OPERATION, создать класс-потомок OP_SUMMATOR, который производит сложение двух полей - C++

05.03.2013, 16:48. Просмотров 487. Ответов 2
Метки нет (Все метки)

Я создал класс OPERATION, который является абстрактной операцией
над двумя числами типа int. Непосредственно сама операция выполняется в
процедуре execute, которая выводит результат на экран. Помогите на основе созданного класса OPERATION, создать класс-потомок OP_SUMMATOR, который производит сложение двух полей. И на основе этого же класса OPERATION создать класс потомок OP_DIVIDER, который производит деление двух полей. Здесь необходимо предотвратить возможную ситуацию деления на ноль. Результат деления и сложения надо вывести на экран.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include "stdafx.h"
 
class OPERATION //
{
    int x; //
    int y;
public://
    OPERATION(){}
    int execute()
    {
        printf ("x=%d y=%d\n",x,y);
        return 0; //
    }
    void set_OPERATION(int newx,int newy) //
    {
        x=newx;
        y=newy;
    }
 
};
int _tmain(int arqc, _TCHAR* arqv[]) //
{
    OPERATION operation;
    operation.set_OPERATION(10,15)
    operation.execute()
    return0; //
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.03.2013, 16:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос На основе созданного класса OPERATION, создать класс-потомок OP_SUMMATOR, который производит сложение двух полей (C++):

Создать класс и класс-потомок с полями - C++
Создать класс и класс-потомок с полями, под некоторые из полей классов память выделять динамично. Реализовать в классе и классе - потомке...

Как создать класс, который содержит элементы другого класса - C++
Добрый день, я чисто любитель, начала сама потихоньку разбираться в с++, благополучно дошла до классов и сделала класс konto (банковский...

Создать класс Point, который имеет два закрытых члена класса (координаты) - C++
Помогите плиз код написать. Я чёт не очень понимаю в классах. Создайте класс Point, который имеет два закрытых члена класса...

Создать на базе класса с реализацией очереди клас потомок — кольцевая очередь - C++
Доброго времени суток. Я хотел создать на базе класса с реализацией очереди клас потомок - кольцевая очередь. Исходник: #include...

Создать базовый класс «Список» и класс-потомок «Упорядоченный список» - C++
Создать базовый класс «список», определив в нем функции добавления в начало списка, удаления N-го элемента списка, вывода элементов списка...

Я хочу создать пользовательский класс в C#, на основе класса button - C#
Обращаюсь к профессионалам, имеющим опыт разработки приложений на C#, связанных с базами данных. Если честно, в C# я новичок, впрочем как и...

2
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 2
05.03.2013, 18:14 #2
в унаследованных классах нет доступа к полям родительского класса объявленными в секции привт, используйте секцию протектед.

Добавлено через 2 минуты
"Я создал класс OPERATION, который является абстрактной операцией
над двумя числами типа int." - по сути это является определением функтора
0
anmartex
...
1706 / 1199 / 496
Регистрация: 12.02.2013
Сообщений: 1,978
06.03.2013, 05:25 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <iostream>
 
class OPERATION
{
   protected:
      int a, b;
 
   public:
      OPERATION(): a(0), b(0) { ; }
      OPERATION(int theA, int theB): a(theA), b(theB) { ; }
      virtual ~OPERATION() { ; }
 
      virtual void SetValues(int theA, int theB)
      {
         a = theA;
         b = theB;
      }
 
      virtual void Execute() = 0;
};
 
class OP_SUMMATOR: public OPERATION
{
   public:
      OP_SUMMATOR(): OPERATION() { ; }
      OP_SUMMATOR(int theA, int theB): OPERATION(theA, theB) { ; }
 
      virtual void Execute()
      {
         std::cout << a << "+" << b << "=" << a+b << std::endl;
      }
};
 
class OP_DIVIDER: public OPERATION
{
   public:
      OP_DIVIDER(): OPERATION() { ; }
      OP_DIVIDER(int theA, int theB): OPERATION(theA, theB) { ; }
 
      virtual void Execute()
      {
         if (b == 0)
         {
            std::cout << "b is zero" << std::endl;
         }
         else
         {
            std::cout << a << "/" << b << "=" << static_cast<float>(a)/b << std::endl;
         }
      }
};
 
int main()
{
   OPERATION* sum = new OP_SUMMATOR(2, 5);
   OPERATION* div = new OP_DIVIDER;
   div->SetValues(5, 2);
 
   sum->Execute();
   div->Execute();
 
   delete sum;
   delete div;
 
   return 0;
}
На основе созданного класса OPERATION, создать класс-потомок OP_SUMMATOR, который производит сложение двух полей

Бинарник + исходник: program.7z
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2013, 05:25
Привет! Вот еще темы с ответами:

Создать класс очередь. Графическая реализация очереди на основе класса - C#
Помогите пожалуйста, полнейша безысходность в простых прораммах работа с очередью понятно, но с графической реализацией...

На основе класса User создать класс Employee, описывающий сотрудника фирмы - Java SE
Наследование и полиморфизм 1)На основе класса User создать класс Employee, описывающий сотрудника фирмы. Добавить поля «стаж работы» и...

Необходимо создать класс Java, который представляет карту учебного класса, позволяет определить место для студента, отображает карту класса и ищет зан - Java SE
Доброго времени суток! Нашёл на сайте тему с такой задачкой, но там никто не ответил :...

Создать компонент – потомок Tbutton, который получает и выводит на экран информацию о рабочей станции. - C++ Builder
Создать компонент – потомок Tbutton, который получает и выводит на экран информацию о рабочей станции. Компонент должен содержать следующие...


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

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

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