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

Перегрузка оператора, для множественного использования - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не получается написать "Hello world!" http://www.cyberforum.ru/cpp-beginners/thread1060603.html
Здравствуйте. Я решил попробовать научиться программировать по книге Бьерна Страуструпа "Программирование. Принципы и практика использования С++" и первое же задание вызвало у меня затруднения. Вот...
C++ Нужно подправить функцию, не работает Помогите исправить ошибку 3 IntelliSense: expression must have arithmetic or enum type void searchprice(struct info arr,int create) { int sum = 0; char c; cin>>c; for (int... http://www.cyberforum.ru/cpp-beginners/thread1060594.html
C++ Преобразование char* в const wchar_t *
Есть кусок кода, при компиляции выскакивает ошибка о о неудачном преобразовании типов(вышеназванных) int i = 0; std::string line; char ArrayPaths; char* Array = ArrayPaths; std::ifstream...
C++ Проверить, является ли билет "счастливым" (while)
1)Билет называют «счастливым», если в его номере сумма первых трех цифр равна сумме последних трех. Проверить есть ли билет «счастливым». Номер билета может быть от 000000 до 999999.
C++ Удаление процессов http://www.cyberforum.ru/cpp-beginners/thread1060565.html
Возникла проблема. Программа не может удалить созданные процессы. Уже голову сломал,не могу понять в чем проблема. Помогите пожалуйста.:cry: #include <windows.h> #include <iostream> #include...
C++ Вызов конструктора базового класса из порожденного Есть Базовый класс студент: имеет поля: фамилия, адрес, тел., возраст. Порожденный класс группа: имя группы, кол-во студентов в группе, массив студентов И нужно вводить студентов в группу... подробнее

Показать сообщение отдельно
Xipxop
481 / 9 / 2
Регистрация: 28.12.2011
Сообщений: 151

Перегрузка оператора, для множественного использования - C++

30.12.2013, 09:25. Просмотров 311. Ответов 6
Метки (Все метки)

Всем доброе утро и с наступающим!
Делаю свой класс строки, и мне захотелось сделать так чтобы ввод в эту строку был подобно выводу cout
например:
C++
1
2
3
int a; char b; char c[];
OPstring str;
str>>"i=">>a>>" a tak kak ">>c>>" olo ">>b;
Так вот, класс я сделал, и перегрузку оператора >> сделал.
Но встряла одна проблема! Он может делать это все только одно действие за раз!
C++
1
str>>a; str>>"=";
исходник:
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
#include <iostream>
#include <string.h>
#include <vector>
 
using namespace std;
 
class OPstring
{
private:
    vector<char>    text;
    char            *pnt_text;
public:
    int             len;
    OPstring(){len=0;}
    OPstring(char *ch)
    {
        for(int i=0;i<strlen(ch);i++)
        {text.push_back(ch[i]);}
        len=text.size();
    }
    char* GetText()
    {
        pnt_text=new char[text.size()];
        copy(text.begin(), text.end(), pnt_text);
        pnt_text[text.size()]='\0';
        return pnt_text;
    }
    OPstring operator>>(int arg)
    {
        text.push_back('A');
    }
    OPstring operator>>(char arg)
    {
        text.push_back('B');
    }
};
 
int main()
{
    OPstring str("Hello word!");
 
 
    str>>1;
    str>>'s';
    cout<<str.GetText();
 
 
    return 0;
}
Помогите мне найти правильное решение.(Скажите, или укажите на примеры)
Заранее благодарю!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru