Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
24 / 24 / 2
Регистрация: 26.07.2009
Сообщений: 414
1

Конструкторы

09.10.2009, 19:26. Показов 1443. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Спроектируйте класс – “калькулятор”, предназначенный для выполнения арифметических операций с двумя операндами и добавьте в разработанный вами класс-калькулятор конструктор, инициализирующий объект. Класс может разработан не верно но вот он
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
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <iostream>
//---------------------------------------------------------------------------
#pragma argsused
int main()
{class calculator{
       int oper1,oper2;
       char znak;
       int rez;
       public:
       calc(int op1, int op2, int r){
       oper1=op1;
       oper2=op2;
       znak=z;
       rez=r;
       }
 
       int get_plus(){
       return rez;
       }
 
       int get_minus(){
       return rez;
       }
 
       int get_devide(){
       return rez;
       }
 
       int get_delete(){
       return rez;
       }
         };
//----------------------------------------------------------------------
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.10.2009, 19:26
Ответы с готовыми решениями:

Конструкторы
Объясните на пальцах, для чего нужны конструкторы?

Конструкторы С++
Здравствуйте. Помогите вместо функций void get и void set написать конструктор и дестркутор к ним....

Конструкторы
#include&lt;iostream&gt; class A { public: A(int x) : _x(x) {} private: int...

Конструкторы
Пытаюсь разработайте класс представления окна на экране компьютера. В состав должны войти следующие...

10
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
09.10.2009, 20:26 2
Да не, нормально всё. Только функция-конструктор должнаиметоь то имя, что и класс.

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

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
#include <stdio.h>
int main() {
 class calculator {
  private:
   int oper1,oper2;
   char znak;
   int rez;
  public:
   calculator(int op1, int op2){
    oper1=op1;
    oper2=op2;
   }
   int get_plus(){
    return oper1 + oper2;
   }
 
   int get_minus(){
    return oper1 - oper2;
   }
 
   int get_devide(){
    return oper1 * oper2;
   }
 
   int get_delete(){
    return oper1/oper2;
   }
 };
 
 calculator obekt (24, 11);
 
 printf ("%d\n",obekt.get_plus ()); 
 printf ("%d\n",obekt.get_minus ()); 
 printf ("%d\n",obekt.get_devide ()); 
 printf ("%d\n",obekt.get_delete ()); 
 
 getchar ();
 
 return 0;
};
1
24 / 24 / 2
Регистрация: 26.07.2009
Сообщений: 414
10.10.2009, 19:04  [ТС] 3
kravam а вот слушай реализовать выбор действия здесь можно только путем case или еще есть способы? может можно это реализовать как то через класс?
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
11.10.2009, 03:36 4
При чём тут case?
Я его не использовал.
Кстати.
0
Maniac
Эксперт С++
1464 / 965 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
11.10.2009, 03:47 5
Цитата Сообщение от kravam Посмотреть сообщение
При чём тут case?
Я его не использовал.
у вас спросили -
Цитата Сообщение от crashc Посмотреть сообщение
выбор действия здесь можно только путем case или еще есть способы? может можно это реализовать как то через класс
Кстати ваш код ужасен (и автора изначально тоже)..
1
Эксперт по математике/физике
4217 / 3412 / 396
Регистрация: 15.06.2009
Сообщений: 5,818
11.10.2009, 12:51 6
Герберт Шилдт, "C для профессиональных программистов", гл.2 http://wmate.ru/ebooks/book7.html
Книга хоть и древняя (ещё для ДОС), но всё-таки полезная. Не все велосипеды нужно изобретать самому. Но пробовать надо.
P.S. Учиться, учиться, и ещё раз учиться! (С)Не моё
1
24 / 24 / 2
Регистрация: 26.07.2009
Сообщений: 414
11.10.2009, 17:37  [ТС] 7
Может быть код и в правду ужасен, но увы с чего-то надо начинать! Всё вроде работает kravam но теперь загвоздка в деструкторе! где его лучше использовать в этой программе
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
67
68
69
70
71
72
73
74
75
76
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
 
#pragma argsused
int main()
{
 int operanda1=0, operanda2=0;
 char dest;
 
class calculator{
       int oper1,oper2;
       char znak;
       int rez;
       public:
       calculator(int op1, int op2){
       oper1=op1;
       oper2=op2;
      }
 
 
       int get_plus(){
       return oper1+oper2;
       }
 
       int get_minus(){
       return oper1-oper2;
       }
 
       int get_devide(){
       return oper1*oper2;
       }
 
       int get_delete(){
       return oper1/oper2;
       }
         };
 
    cout<<"Input two chisla"<<endl;
    cin>>operanda1>>operanda2;
    cout<<"Input char"<<endl;
    cin>>dest;
    switch(dest){
 
      case'+':{
      calculator object(operanda1,operanda2);
      cout<<"Rezalt= "<<object.get_plus()<<endl<<endl;
      cout<<"Press for exit"<<endl;
      break;
      }
 
      case'-':{
      calculator object(operanda1,operanda2);
      cout<<"Rezalt= "<<object.get_minus()<<endl<<endl;
      cout<<"Press for exit"<<endl;
      break;
      }
 
      case'*':{
      calculator object(operanda1,operanda2);
      cout<<"Rezalt= "<<object.get_devide()<<endl<<endl;
      cout<<"Press for exit"<<endl;
      break;
      }
 
      case'/':{
      calculator object(operanda1,operanda2);
      cout<<"Rezalt= "<<object.get_delete()<<endl<<endl;
      cout<<"Press for exit"<<endl;
      break;
      }
    }
        getchar();
        getchar();
        return 0;
}
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
11.10.2009, 18:02 8
Я не знаю, до деструкторов не дошёл ещё.
0
24 / 24 / 2
Регистрация: 26.07.2009
Сообщений: 414
11.10.2009, 18:38  [ТС] 9
жаль
0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
11.10.2009, 19:19 10
но теперь загвоздка в деструкторе! где его лучше использовать в этой программе
Нигде.
P.S. Почему ваш класс находится внутри функции main? Где default внутри switch? И самое интереное: почему у вас умножение называется делением(хоть и написано с ошибкой), а деление удалением? )))
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
11.10.2009, 20:25 11
Цитата Сообщение от rangerx Посмотреть сообщение
Почему ваш класс находится внутри функции main?
А почему бы ему там не находиться?
Автор хочет, значит, чтобы его класс был виден только в пределах этой функции.
1
11.10.2009, 20:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.10.2009, 20:25
Помогаю со студенческими работами здесь

конструкторы
Доброе время суток! Помогите разобраться с конструктором. Что это такое и с чем его едят. Так как...

Конструкторы С++
Всем привет, помогите довести программу до ума :) Заранее благодарю откликнувшихся :) ...

конструкторы
Есть 2 проблемы: 1) Сказали сделать 2 конструктора: один по умолчанию, а другой-с параметрами....

Конструкторы
class A { public: A() : a(10) // инициализация a { b = 3; // присвоение b } int a,...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru