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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.63
RiG1
28 / 28 / 0
Регистрация: 12.03.2011
Сообщений: 465
#1

Доступ к полям класса - C++

18.12.2011, 20:24. Просмотров 2346. Ответов 14
Метки нет (Все метки)

Имеет список list с объектами класса zapis
C++
1
list<zapis> list
как мне получить значение поля класса, например поле Number
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2011, 20:24
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Доступ к полям класса (C++):

Дружественная функция-оператор, доступ к закрытым полям класса - C++
У меня есть класс MyClass, вот код: class MyClass { int x, y; public: MyClass(); friend ostream &amp; operator &lt;&lt; (ostream &amp;,...

Почему не могу получить доступ к protected полям из дочернего класса? - C++
Пытаюсь получить доступ к ships из дочернего класса Referee, но не получается. В чем ошибка? class Player { protected: ...

Массив объектов класса, отладка, доступ к полям элемента массива - C++
Доброго времени! Создал класс с полем char и int. Person.h #ifndef PERSON_H #define PERSON_H //#include &lt;iostream&gt; using...

Callback std::function + доступ к приватным полям класса методам которые не есть их полями - C++
Проблема, товарищи. В прикрепленном архиве 3 файла, из которых состоит моя программа: **main.cpp; prototypes.h; realization.cpp** 1....

Обращение в методах класса к полям класса - C++
Добрый вечер! Подскажите пожалуйста правильное обращение в методах класса к полям класса. class X {char name ; double zar; ...

Доступ к protected полям - C++
Добрый день! Очень не часто пишу что-то на C++ и вот такой момент настал :) Существует некий абстрактный класс содержащий указатель на...

14
I.M.
566 / 549 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
18.12.2011, 20:32 #2
Так как вы используете список, то вам придется итератором дойти до нужного элемента, а уже потом из этого итератора обращаться к некоторому полю класса (если конечно это паблик поле) iterator->Number.
Как-то так
0
RiG1
28 / 28 / 0
Регистрация: 12.03.2011
Сообщений: 465
18.12.2011, 20:41  [ТС] #3
хм, мне необходимо отсортировать этот список методом пузырьковой сортировки, следовательно мне нужен i-тый и i+1 -тый элементы списка
0
Chelioss
181 / 181 / 4
Регистрация: 08.01.2011
Сообщений: 1,139
18.12.2011, 20:43 #4
Используйте итераторы. Больше никак.
0
RiG1
28 / 28 / 0
Регистрация: 12.03.2011
Сообщений: 465
18.12.2011, 21:40  [ТС] #5
А можете ли вы помочт преобразовать данный код сортировки на c# в код с++ с использованием итераторов
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
static void InsertionSort(list<Abonents> list)
        {
            for (int i = 1; i < list.Count; i++)
            {
                int j;
                int buf = list[i].Number;
                for (j = i - 1; j >= 0; j--)
                {
                    if (list[j].Number < buf)
                        break;
                    list[j + 1].Number = list[j].Number;
                }
                list[j + 1].Number = buf;
            }
        }
Добавлено через 21 минуту
ап ап ап

Добавлено через 23 минуты
ап ап
0
Петррр
6148 / 3448 / 338
Регистрация: 28.10.2010
Сообщений: 5,926
18.12.2011, 21:54 #6
RiG1, а так не проще:
C++
1
2
list<int> lst;
lst.sort();
0
RiG1
28 / 28 / 0
Регистрация: 12.03.2011
Сообщений: 465
18.12.2011, 22:36  [ТС] #7
у меня list<Abonents> list мне надо отсортировать по определенному полю класса
0
Chelioss
181 / 181 / 4
Регистрация: 08.01.2011
Сообщений: 1,139
18.12.2011, 22:43 #8
Цитата Сообщение от RiG1 Посмотреть сообщение
у меня list<Abonents> list мне надо отсортировать по определенному полю класса
Перегрузите операцию сравнения < для класса Abonents и тогда вы сможете использовать стандартный метод сортировки sort класса list.
В перегрузке операции < сравнивайте что вам угодно.
0
RiG1
28 / 28 / 0
Регистрация: 12.03.2011
Сообщений: 465
18.12.2011, 22:45  [ТС] #9
Chelioss, а можно пример. я честно говоря не знаю что это такое
0
Chelioss
181 / 181 / 4
Регистрация: 08.01.2011
Сообщений: 1,139
18.12.2011, 22:57 #10
C++
1
2
3
4
bool operator <( const Abonents &right ) const
{
   return поле < right.поле;
}
1
RiG1
28 / 28 / 0
Регистрация: 12.03.2011
Сообщений: 465
18.12.2011, 23:12  [ТС] #11
и как потом этот оператор использовать?
0
Chelioss
181 / 181 / 4
Регистрация: 08.01.2011
Сообщений: 1,139
18.12.2011, 23:17 #12
Метод sort его использует обычным сравнением объект[i]<объект[j]
1
RiG1
28 / 28 / 0
Регистрация: 12.03.2011
Сообщений: 465
18.12.2011, 23:27  [ТС] #13
Chelioss, а можно как для дауна написать?
0
Chelioss
181 / 181 / 4
Регистрация: 08.01.2011
Сообщений: 1,139
18.12.2011, 23:30 #14
Добавляете в тело класса Abonents то, что я выше написал. Доступ должен быть public.
Используете list.sort();
1
rangerx
1941 / 1550 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
18.12.2011, 23:53 #15
RiG1, можете воспользоваться функтором из этого примера(второй листинг)
C++
1
list.sort(StructMemberLessCmp<Abonents, int>(&Abonents::Number));
таким образом вы легко сможете сортировать список по любому из полей структуры.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2011, 23:53
Привет! Вот еще темы с ответами:

Полиморфизм и доступ к полям потомков - C++
Задача: накидать в окне прямоугольники и круги, а потом упаковать их максимально плотно. Делаем в Qt. Структура классов такая: есть базовый...

Получить доступ к полям структуры - C++
здравствуйте,если свести проблему к локальному контексту, то есть код примерно такой: struct zeus { template&lt;typename...

Доступ к полям структуры по номерам - C++
Как можно присвоить полям структуры номера и организовать к ним доступ по этому номеру? Видел где-то идею сделать внутри структуры функцию,...

Класс - друг. Доступ к полям и методам - C++
Есть два класса: MainWindow и LBM_computation, в одном из них происходят вычисления. Класс MainWindow - для визуализации. Надо сделать так,...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru