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

Перегрузка оператора ~ - C++

Восстановить пароль Регистрация
 
toxaleo
Сообщений: n/a
14.03.2013, 19:12     Перегрузка оператора ~ #1
Добрый вечер. Помогите пожалуйста. Задание:Вектор имеет 3 числа(водить их надо самому), нужно перезагрузить оператор ТИЛЬДА, цекличным зссувом влево и с оператором << , я в програмировании не шарю потому помогите,СРОЧНО.... Например числа 2 4 7 циклический ссув это будет 4 7 2 тоесть последнее число выноситься на перед...СПАСИБО ЖДУ
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2013, 19:12     Перегрузка оператора ~
Посмотрите здесь:

Перегрузка оператора C++
перегрузка оператора = C++
C++ Перегрузка оператора <<
Перегрузка оператора << C++
C++ Перегрузка оператора + и =
Перегрузка оператора + C++
Перегрузка оператора << C++
Перегрузка оператора -> C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
14.03.2013, 19:52     Перегрузка оператора ~ #2
Цитата Сообщение от toxaleo Посмотреть сообщение
перезагрузить оператор
?
Цитата Сообщение от toxaleo Посмотреть сообщение
екличным зссувом влево
???
Из того, что понял:
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
#include <iostream>
#include <iterator>
#include <algorithm>
#include <vector>
#include <cassert>
 
 
template<typename C>
C operator ~(C c) {
    assert(!c.empty());
    typename C::iterator b = c.begin();
    std::rotate(c.begin(), ++b, c.end());
    return c;
}
 
 
int main() {
    std::vector<int> v;
    
    v.push_back(2);
    v.push_back(4);
    v.push_back(7);
    
    std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    
    v = ~v;
    
    std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
}
Добавлено через 41 секунду
http://ideone.com/yLjmK6
Yandex
Объявления
14.03.2013, 19:52     Перегрузка оператора ~
Ответ Создать тему
Опции темы

Текущее время: 06:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru