Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
196 / 41 / 24
Регистрация: 24.02.2013
Сообщений: 231

Как перегрузить оператор?

25.04.2013, 16:20. Показов 3740. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот написал функцию поиска студента по номеру группы. STL list
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
void find()
{
    setlocale( LC_ALL,"Russian" );
    if (students.empty()) cout<<"Нет студентов в списке";
    else
    {
int number;
cout<<"Введите искомую группу"<<endl;
cin>>number;
list <CStudent>::iterator location = find(students.begin(),students.end(),number);
if (location==students.end())
    cout<<"Ничего не найдено"<<endl;
else
{
    cout<<"Результат:"<<endl;
    if (location==students.begin())
        cout<<"Студент с заданной группой найден:"<<number<<endl;
    location->output();
}
    }
 
 
 
}
Дальше не фига не могу перегрузить оператор. Обьясните кто нибудь
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.04.2013, 16:20
Ответы с готовыми решениями:

Как перегрузить оператор<< и оператор>> ?
Доброго времени суток. Застрял на двух вопросах и не как не могу найти инфу которвя мне помогла бы их решить. вопрос первый. В общем...

Как перегрузить оператор >?
В задании нужно создать шаблон класса, который будет принимать массив целых, вещественных и дробей, а также минимум в массиве. Для целых и...

Как перегрузить оператор =
ну там чтоб он например сложение делал или чтото другое

26
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
25.04.2013, 18:51
Студворк — интернет-сервис помощи студентам
alexSo94, ну вот как-то так, не компилил, если что-то вылезет скажи)

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
void find()
{
    setlocale( LC_ALL,"Russian" );
 
    bool flag(false);
    if (students.empty()) 
        cout<<"Нет студентов в списке";
    else
    {
        number_type number = G1;
        cout<<"Введите искомую группу"<<endl;
 
        list <CStudent>::iterator location(students.begin());
 
        while(location != students.end()){
            if(op.number_gender() == number){
                flag = true;
                cout<<"Результат:"<<endl;
                cout<<"Студент с заданной группой найден:"<<number<<endl;
                location->output();
            }
        }
 
        if (!flag)
            cout<<"Ничего не найдено"<<endl;
    }
}
0
196 / 41 / 24
Регистрация: 24.02.2013
Сообщений: 231
25.04.2013, 18:57  [ТС]
Цитата Сообщение от yoghurt92 Посмотреть сообщение
alexSo94, ну вот как-то так, не компилил, если что-то вылезет скажи)

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
void find()
{
    setlocale( LC_ALL,"Russian" );
 
    bool flag(false);
    if (students.empty()) 
        cout<<"Нет студентов в списке";
    else
    {
        number_type number = G1;
        cout<<"Введите искомую группу"<<endl;
 
        list <CStudent>::iterator location(students.begin());
 
        while(location != students.end()){
            if(op.number_gender() == number){
                flag = true;
                cout<<"Результат:"<<endl;
                cout<<"Студент с заданной группой найден:"<<number<<endl;
                location->output();
            }
        }
 
        if (!flag)
            cout<<"Ничего не найдено"<<endl;
    }
}
Ругаеться на op
C++
1
2
c:\users\sany\documents\visual studio 2010\projects\newstudent\newstudent\newstudent.cpp(114): error C2065: op: необъявленный идентификатор
1>c:\users\sany\documents\visual studio 2010\projects\newstudent\newstudent\newstudent.cpp(114): error C2228: выражение слева от ".number_gender" должно представлять класс, структуру или объединение
0
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
25.04.2013, 19:01
alexSo94,

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
void find()
{
    setlocale( LC_ALL,"Russian" );
 
    bool flag(false);
    if (students.empty()) 
        cout<<"Нет студентов в списке";
    else
    {
        number_type number = G1;
        cout<<"Введите искомую группу"<<endl;
 
        list <CStudent>::iterator location(students.begin());
 
        while(location != students.end()){
            if(location -> number_gender() == number){
                flag = true;
                cout<<"Результат:"<<endl;
                cout<<"Студент с заданной группой найден:"<<number<<endl;
                location->output();
            }
        }
 
        if (!flag)
            cout<<"Ничего не найдено"<<endl;
    }
}
0
196 / 41 / 24
Регистрация: 24.02.2013
Сообщений: 231
25.04.2013, 19:07  [ТС]
Цитата Сообщение от yoghurt92 Посмотреть сообщение
alexSo94,

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
void find()
{
    setlocale( LC_ALL,"Russian" );
 
    bool flag(false);
    if (students.empty()) 
        cout<<"Нет студентов в списке";
    else
    {
        number_type number = G1;
        cout<<"Введите искомую группу"<<endl;
 
        list <CStudent>::iterator location(students.begin());
 
        while(location != students.end()){
            if(location -> number_gender() == number){
                flag = true;
                cout<<"Результат:"<<endl;
                cout<<"Студент с заданной группой найден:"<<number<<endl;
                location->output();
            }
        }
 
        if (!flag)
            cout<<"Ничего не найдено"<<endl;
    }
}
Блин не работает
Миниатюры
Как перегрузить оператор?  
0
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
25.04.2013, 19:12
alexSo94, тупонул

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
void find()
{
    setlocale( LC_ALL,"Russian" );
 
    bool flag(false);
    if (students.empty()) 
        cout<<"Нет студентов в списке";
    else
    {
        number_type number = G1;
        cout<<"Введите искомую группу"<<endl;
 
        list <CStudent>::iterator location(students.begin());
 
        while(location != students.end()){
            if(location -> number_gender() == number){
                flag = true;
                cout<<"Результат:"<<endl;
                cout<<"Студент с заданной группой найден:"<<number<<endl;
                location->output();
            }
 
            ++location;
        }
 
        if (!flag)
            cout<<"Ничего не найдено"<<endl;
    }
}
1
196 / 41 / 24
Регистрация: 24.02.2013
Сообщений: 231
25.04.2013, 19:17  [ТС]
yoghurt92, спасибо тебе огромное. На досуге буду подробно разбирать итераторы.
0
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
25.04.2013, 19:19
alexSo94, да сам недавно их прошел, удачи)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.04.2013, 19:19

Как перегрузить оператор []?
вообщем есть класс class Point{ private: int color_id, state; public: //constructors Point(); //destructors ...

Как перегрузить оператор разыменования *
Как перегрузить оператор разыменования?

Как перегрузить оператор << в классе?
Всем привет, есть данный код: #include &quot;pch.h&quot; #include &lt;iostream&gt; #include &lt;string&gt; #include &quot;ccolor.h&quot; #include...

Как перегрузить оператор ввода?
Как перегрузить оператор ввода? rational.h #define _Rational_h_ #include &lt;iostream&gt; using namespace std; int nod(int p,...

Как правильно перегрузить оператор [] =
вот например в классе хранится массив, и допустим я хочу елементу массива в этом классе присвоить другое значение, тоесть так, class...


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

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru