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

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

Войти
Регистрация
Восстановить пароль
 
Давид
Программист 1С
856 / 644 / 80
Регистрация: 03.03.2009
Сообщений: 1,154
#1

Class MyInt - C++

17.06.2013, 20:34. Просмотров 253. Ответов 2
Метки нет (Все метки)

Почитал литературы и решил создать свой первый class myint. Хотел добавить перегрузки операций и тестирование но завис. Выдает 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 <stdio.h>
class MyInt
 {
 public:
   int n;
   MyInt ()
   {
   n=0;
   }
   MyInt (int _n)
   {
    n = _n;
   }
   MyInt (MyInt & A)
   {
    n = A.n;
   }
  ~ MyInt ()   //destruktor
  { }
   MyInt operator - () //obratnaya
   {
    MyInt buf;
    buf.n = -((*this).n);
    return buf;
   }
   MyInt operator / (MyInt b) //delenie
   {
    if (b.n == 0)
    printf ("Delenie na 0");
    exit (1);
   }
    else
   {
    MyInt buf;
    buf.n = n/b.n;
    return buf;
   }
   MyInt MyInt :: operator + (MyInt b) //A+B
   {
    long a = n , b=b.n ,c;
    c=a+b;
    if (c<-32768 || c>32767)
     {
      print ("iz diapazona");
      exit (1);
     }
     MyInt buf;
     buf.n=n+b.n;
     return buf;
   }
void main()
{
 clrscr();
 MyInt a(5);
 MyInt b;
 MyInt c(a);
 b=a;
 b=-a;
 b=a+c;
}
{
MyInt a(2),b(2),c(4);
  if (a+b != c)
  printf ("error");
 getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2013, 20:34
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Class MyInt (C++):

Разъясните код пжлст(выдает ошибку:cannot convert from 'class std::list<class c_bullet *,class std::allocator<class c_bullet *> >::iterator' to 'int') - C++
Есть такие строки: std::list&lt;c_bullet*&gt; Bullets; ... for(auto i = Bullets.begin(); i != Bullets.end(); /**/) В строке цикла вот...

Работа с class ами. Заполнение дин. массива типа class - C++
Всем доброго времени суток! Это моя первая тема на этом сайте, поэтому если что извините меня (за неточности итд итп). Мне нужно...

Create a programm that creates an object of created class Time and tests the member functions of class - C++
Time Class Create a class called Time that might be used to represent time. 1. Your class should include three data...

Нужно объект типа класс проинициализировать с помощью перегруженного конструктора Class::Class( bool a ) - C++
Плиз помогите. Не знал, что я такой чайник.) Итак: есть два класса: CMyClass.h CMyClass.cpp и

enum и class как составляющие другого class - C++
Как организовать ввод enuma с клавиатуры (51-я строка)? Как прикрепить класс date к employee в private? :wall: #include &lt;iostream&gt; ...

vector<[class]> in class и перегрузка (ostream) - C++
Доброе всем время суток ) столкнулся с проблемой Есть у меня несколько классов и есть класс внутри которого созданы векторы хранящие...

2
Croessmah
Ушел
13777 / 8027 / 926
Регистрация: 27.09.2012
Сообщений: 19,769
Записей в блоге: 3
Завершенные тесты: 1
17.06.2013, 20:41 #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
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
#include <stdio.h>
#include <cstdlib>//Для exit
class MyInt
 {
 public:
   int n;
   MyInt ()
   {
   n=0;
   }
   MyInt (int _n)
   {
    n = _n;
   }
   MyInt (MyInt & A)
   {
    n = A.n;
   }
  ~ MyInt ()   //destruktor
  { }
   MyInt operator - () //obratnaya
   {
    MyInt buf;
    buf.n = -((*this).n);
    return buf;
   }
 
    //Тут что с фигурными скобками за канитель?
   MyInt operator / (MyInt b) //delenie
   {//1
    if (b.n == 0)
    printf ("Delenie na 0");
    exit (1);
   }//0
    else//Это уже вне функции получается
   {//1
    MyInt buf;
    buf.n = n/b.n;
    return buf;
   }//0
   MyInt MyInt :: operator + (MyInt b) //A+B
   {
    long a = n , b=b.n ,c;
    c=a+b;
    if (c<-32768 || c>32767)
     {
      print ("iz diapazona");
      exit (1);
     }
     MyInt buf;
     buf.n=n+b.n;
     return buf;
   }
void main()//И тут со скобками беда
{//1
 clrscr();
 MyInt a(5);
 MyInt b;
 MyInt c(a);
 b=a;
 b=-a;
 b=a+c;
}//0
//И это тоже вне функции
{//1
MyInt a(2),b(2),c(4);
  if (a+b != c)
  printf ("error");
 getch();
}//0
1
Давид
Программист 1С
856 / 644 / 80
Регистрация: 03.03.2009
Сообщений: 1,154
17.06.2013, 21:12  [ТС] #3
Croessmah, спасибо огромное

Добавлено через 25 минут
Croessmah, могу попросить вас подправить мой код?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2013, 21:12
Привет! Вот еще темы с ответами:

Объяснить причины ошибки "Extra qualification 'CLASS CONSTRUCTOR' and 'CLASS' has incomplete type" - C++
Согласно синтаксису, вроде все правильно, но ошибка... что не так? Ошибки компилятора ниже на рисунке... #include &lt;iostream&gt; ...

public class && static class - C++
Вообщем у меня небольшая связка, которую я хотел бы использовать в программе своей, но компилятор мне выдает ошибку и я не знаю что все...

Friend template class with template class argument - C++
Помогите подружить 2 класса: Имеется класс Student: template &lt;class _T&gt; class Faculty; class Student{ friend...

Не пойму конструкцию template <template <class T> class X> - C++
Что это за шаблон такой?


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

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

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