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

Базовый тип чисел - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Чтение из файла http://www.cyberforum.ru/cpp-beginners/thread516838.html
Проясните, пожалуйста, один вопрос: есть файл такого содержания - 12 23 32 43 45 95 Простейшая программа: #include<iostream> #include<fstream> //потоки using namespace std; int main() { ifstream in("123.txt"); //создаем поток ввода
C++ количества элементов линейной таблицы Составить программу для подчета суммы и количества элементов линейной таблицы А, состояще из 20 целых чисел,имеющих четные значения. http://www.cyberforum.ru/cpp-beginners/thread516833.html
Задать параметр для компоновщика в VS C++
Рассматриваю один из примеров Петзолда где общая память расшаривается через библиотеку для нескольких экземпляров приложения, вот только если у Петзолда она расшаривается то у меня нет (одновременно запущенные экземпляры приложения не видят данных других экземпляров). Единственное что я не сделал к этому примеру это: Компоновщику необходимо сообщить об области памяти shared. В командной строке...
C++ Неправильное выделение байтов
void *_upointer; int type:2; В классе присутствуют 2 переменные. Насколько я знаю, указатель занимает 4 байта, а int в данном случае должен занимать 1. итого: 5. когда использовал sizeof, вывело 8. Что не так?
C++ Правильно ли считываю матрицу? http://www.cyberforum.ru/cpp-beginners/thread516795.html
Ребят, правильно ли я считываю матрицу из файла? И еще: чтобы узнать размер матрицы, мне обязательно нужно открыть файл и, посмотрев ее кол-во строк и столбцов, сделать соответствующие изменения в программе (в смысле изменить размерность)? Ведь больше я никак не могу узнать, массив какой размерности мне нужен под ее хранение? #include<iostream> #include<fstream> //потоки #include...
C++ Указатель на уничтоженный массив int *point; void func() { int mass; for(int i=0; i<16; ++i) mass = 16-i; point = mass; } int main() подробнее

Показать сообщение отдельно
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
12.03.2012, 17:56     Базовый тип чисел
Цитата Сообщение от gooseim Посмотреть сообщение
это конечно хорошо, но у автора по задумке было конвертирования из одного типа в другой, если они не совпадают (operator+=)
Не беда.

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
private:
   union value_type
   {
      int integer;
      double real;
   } value;
 
public:
   NumericBase &operator+=(const NumericBase &n)
   {
      value_type v = convert_if_need(n);
 
      switch (type)
      {
      case INTEGER:
         value.integer += v.integer;
         break;
      case REAL:
         value.real += v.real;
         break;
      }
      
      return *this;
   }
 
private:
   value_type convert_if_need(const NumericBase &n)
   {
      value_type v = n.value;
      
      if (type != n.type)
      {
         v.real = (n.type == INTEGER ? n.value.integer : n.value.real);
         type = REAL;
      }
      
      return v;
   }
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int main()
{
   NumericBase a = 10, b = 15;
   a += b;
   
   cout << a << " " << b << endl;
   
   NumericBase c = 1.5, d = 3.5;
   c += a;
   d += b;
   
   cout << c << " " << d << endl;
}
Код
25 15
26.5 18.5
 
Текущее время: 12:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru