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

Перегрузка операции "++" - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сравнение списков http://www.cyberforum.ru/cpp-beginners/thread548303.html
Доброго времени суток . Нужен небольшой совет по программе . Есть 2 списка (стандартный STL-кий класс list ) , нужно сравнить их на равенство или неравенство , причем порядок следования узлов не учитывать . То есть фактически списки A-B-C и B-C-A должны быть равны (если учитывать порядок , то можно воспользоваться уже перегруженным оператором == класса list ) . Не могу сообразить нужный алгоритм...
C++ Ошибка 1 error C2064: результатом вычисления фрагмента не является функция, принимающая 0 аргументов Помогите пожалуйста разобраться не пойму почему выдает 2 ошибки? Ошибка 1 error C2064: результатом вычисления фрагмента не является функция, принимающая 0 аргументов Ошибка 2 error C2064: результатом вычисления фрагмента не является функция, принимающая 1 аргументов #include "StdAfx.h" #include <STDLIB.H> #include <time.h> #include<iostream> http://www.cyberforum.ru/cpp-beginners/thread548293.html
Матрицы: нахождение сумм положительных элементов строк каждой матрицы C++
программирование с использованием процедур составить программу для нахождения сумм положительных элементов строк каждой матрицы A(n,m),B(k,l), где n,m,k,l не превосходят 20. результаты запомнить в массивы APL и BPL.
C++ Обнулить массив char
Как это обнулить на Microsoft Visual Studio IDE char buffer; Пробовал уже buffer = ""; не выходит. Добавлено через 12 минут вопрос закрыт
C++ Элемент массива, встречающйся наибольшее число раз. http://www.cyberforum.ru/cpp-beginners/thread548273.html
Здравствуйте! Нужно найти элемент массива, встречающийся наибольшее число раз. Желательно самый простой способ и с коментариями. Заранее спасибо. :) Добавлено через 6 минут Мой вариант, не работает: #include "stdafx.h"
C++ Сравнение строк Сначала указываю каталог, из которого нужно вывести список файлов этого каталога, затем ввожу имя искомого файла. В цикле делаю сравнение двух строк: если файл найдет, то должно выводится соответствующее сообщение. Но почему-то не выводится. Скажите как сделать поиск файла в указанном каталоге по другому? Вот мой код: gets(asd); gets(bm); strcpy(del,asd); strcat(del,"\\*.*");... подробнее

Показать сообщение отдельно
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
15.04.2012, 00:06     Перегрузка операции "++"
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
#include <iostream>
 
namespace product {
   enum location { T_IN_STOCK, T_ON_DISPLAY, T_IN_HALL, T_SIZE };
   const char* str[T_SIZE] = { "in stock", "on display", "in hall" };
}
 
class product_location {
public:
   explicit product_location(product::location location) : m_location(location) {}
   
   product::location location() const { return m_location; }
   void setLocation(product::location location) { m_location = location; }
private:
   product::location m_location;
};
 
std::ostream& operator << (std::ostream& os, const product_location& loc)
{
   return (os << product::str[loc.location()]);
}
 
product_location& operator ++ (product_location& obj)
{
   product::location loc = static_cast<product::location>(obj.location() + 1);
   if (loc >= product::T_SIZE)
      loc = product::T_IN_STOCK;
   obj.setLocation(loc);
   return obj;
}
 
product_location operator ++ (product_location& obj, int)
{
   product_location copy(obj);
   product::location loc = static_cast<product::location>(obj.location() + 1);
   if (loc >= product::T_SIZE)
      loc = product::T_IN_STOCK;
   obj.setLocation(loc);
   return copy;
}
 
int main()
{
   product_location loc(product::T_IN_STOCK);
   std::cout << loc << '\n';
   ++loc;
   std::cout << loc << '\n';
   loc++;
   std::cout << loc << '\n';
   ++loc;
   std::cout << loc << '\n';
   loc++;
   std::cout << loc << '\n';
}
 
Текущее время: 01:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru