Как можно реализовать перегрузку операции >>
так, чтоб выражение a>>b>>c
(a
,b
,c
- объекты одного класса) работало следующим образом:
В объект c заносится значение объекта b, а в объект b - значение объекта a.
Операция при перегрузке должна возвращать старое значение правого операнда. Тогда результатом
a >> b
будет занесение в b
значения a
, а результат - старое значение b
- будет занесено в c
.
Что-то вроде
#include <iostream>
using namespace std;
class I
{
int i;
public:
I(int i = 0):i(i){}
operator int() const { return i; }
};
I operator >> (const I& a, I& b)
{
I c = b;
b = a;
return c;
}
int main(int argc, const char * argv[])
{
I a(3), b(4), c(5);
a >> b >> c;
cout << a << " " << b << " " << c << endl;
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как можно сдвинуть часть текста? Например, из слова "привет" сделать "при вет"Без memmove
создаю Handle hfileИспользую FindFirstFile,и проверяю с hFile!=INVALID_HANDLE_VALUE
Создал свой виджет для визуализации круговой диаграммы: