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

Классы и объекты - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Самоучитель от Дейтела врет? http://www.cyberforum.ru/cpp-beginners/thread946934.html
Почему в самоучителе по С++ от Дейтела Х, программа, выводящая текст записана так: #include <iostream> int main() { std::cout<< "Welcome\n";
C++ у кого VS2010? Поделитесь такими файликами. В инете с левого источника боюсь качать. msvcp100.dll msvcr100.dll Находятся они по адресу Program Files\Microsoft Visual Studio... http://www.cyberforum.ru/cpp-beginners/thread946908.html
C++ MinGW Developer Studio
Всем здраствуйте! Просьба! Не кидайте сразу помидорами, если вопрос очень уж глупый))) Я только начинаю разбираться, первые шаги так сказать))) Скачала я среду MinGW Developer Studio, создаю...
C++ Как повернуть матрицу на заданный угол ?
Здравствуйте. Мне нужно написать функцию, которая поворачивала бы изображение на заданный угол. Я нарыл в инете как получить значение конкретного пикселя. И все значения пикселей я записываю в...
C++ Проверка графа на двудольность http://www.cyberforum.ru/cpp-beginners/thread946894.html
Есть вот такая вот задача Во время контрольной работы профессор Флойд заметил, что некоторые студенты обмениваются записками. Сначала он хотел поставить им всем двойки, но в тот день профессор был...
C++ Объявление переменных в классе #pragma once class streetdb { public: streetdb(void); ~streetdb(void); int admiral_1_137; private: }; подробнее

Показать сообщение отдельно
kickupduster
4 / 4 / 1
Регистрация: 04.08.2013
Сообщений: 20
02.09.2013, 19:43  [ТС]
Во время операции инкрементирования создаются временные объекты с помощью конструктора с одним аргументом. Для различия положительных и отрицательных чисел использую поле типа bool, которое указывает на данное различие(истина - отрицательное, ложь - положительное). Ошибка происходила из-за того что в конструкторе не задавалось явное значение этого параметра, и оно устанавливалось в TRUE при создании объекта с положительным значением. В результате этого дальнейшие сравнения проходили не корректно, и происходил выход из цикла. Добавил строчку в конструктор, которая при создание объекта устанавливала этот параметр в FALSE и все заработало.
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
class verylong
  {
  private:
      bool minus;
      char vlstr[SZ];            //число как строка
      int vlen;                  //длина строки verylong
      verylong multdigit(const int) const; //прототипы
      verylong mult10(const verylong) const;// скрытых функций
  public:
    verylong() : vlen(0)       //конструктор без аргументов
      { vlstr[0]='0'; vlstr[1]='\0'; minus = false;}
    verylong(const char s[SZ]) //конструктор (1 аргумент)
      {                        //для строки
          strcpy(vlstr, s); 
          vlen=strlen(s);
          minus = false; 
      } 
    verylong(const unsigned long n) //конструктор (1 арг.)
      {                             //для long int
      ltoa(n, vlstr, 10);           //перевести в строку
      strrev(vlstr);                //перевернуть ее
      vlen=strlen(vlstr);           //найти длину
      minus = false;  //ранее отсутствовала  ПРОБЛЕМА БЫЛА ТУТ!!!!!!
      }
Добавлено через 3 минуты
Цитата Сообщение от kickupduster Посмотреть сообщение
Если интересно, то вот мой вариант решения Глава 13. Задание 1
Весь код находится тут. кому интересно
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru