Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/30: Рейтинг темы: голосов - 30, средняя оценка - 4.83
grrrrr
45 / 45 / 13
Регистрация: 21.04.2009
Сообщений: 265
1

Для чего нужны вложенные структуры?

12.08.2011, 13:52. Просмотров 5497. Ответов 13
Метки нет (Все метки)

Скажите пожалуйста для чего нужны вложенные структуры и где их используют?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.08.2011, 13:52
Ответы с готовыми решениями:

Для чего нужны интерфейсы?
Объясните на пальцах для чего нужны интерфейсы, как я понял они описывают...

Для чего нужны указатели?
Кто может объяснить для чего нужны указатели и смысл их? в интернете одна муть...

Для чего нужны битовые операции?
Здравствуйте. Дошел в книге Стенли до битовых операций, но никак не могу...

try catch throw для чего нужны?
Для чего нужны эти операторы? Линканите пожалуйста статью, где доходчиво...

Для чего нужны callback-функции
Для чего нужны callback-функции? И можно привести какой-нибуль пример по их...

13
An1ka
67 / 72 / 9
Регистрация: 30.06.2011
Сообщений: 176
12.08.2011, 13:55 2
Для внутреннего использования. Например, какой-то тип данных внутри класса представить в виде структуры.
1
silent_1991
Эксперт С++
5011 / 3071 / 271
Регистрация: 11.11.2009
Сообщений: 7,045
Завершенные тесты: 1
12.08.2011, 15:09 3
Как пример: очень удобно внутри класса List описать класс ListNode, поскольку узел списка отдельно от списка никому не нужен, а завернуть цепочку узлов в один класс List очень удобно.
1
grrrrr
45 / 45 / 13
Регистрация: 21.04.2009
Сообщений: 265
12.08.2011, 15:17  [ТС] 4
silent_1991, я плохо знаю что такое списки и очереди, в общем понимаю как это работает, но когда вижу реализацию ничего не понимаю. От структурного программирования С++ в ООП я перешел недавно, наверное, поэтому мне так сложно.
0
ValeryLaptev
Эксперт С++
1050 / 829 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
12.08.2011, 15:19 5
Когда-то давным-давно... Когда деревья были большими, а трава - зеленая, был такой язык Сobol (jy и сейчас есть, но про него мало кто помнит)...
На этом языке писали программы обработки данных.
Структура обрабатываемой записи на этом языке выглядела вот таким образом:
HTML5
1
2
3
4
5
6
7
8
9
10
11
* 01 StudentDetails
*    02  StudentId       PIC 9(7).
*    02  StudentName.
*        03 Surname      PIC X(8).
*        03 Initials     PIC XX.
*    02  DateOfBirth.
*        03 YOBirth      PIC 9(4).
*        03 MOBirth      PIC 9(2).
*        03 DOBirth      PIC 9(2).
*    02  CourseCode      PIC X(4).
*    02  Gender          PIC X.
Каждый уровень - это вложенная структура.
Аналогичный1 вид имели и структуры в PL-1.
Потом от идеи нумерации уровней отказались, но вложенные-то структуры, как вы понимаете, остались...

Добавлено через 55 секунд
Цитата Сообщение от grrrrr Посмотреть сообщение
silent_1991, я плохо знаю что такое списки и очереди, в общем понимаю как это работает, но когда вижу реализацию ничего не понимаю. От структурного программирования С++ в ООП я перешел недавно, наверное, поэтому мне так сложно.
И в структурном программировании есть вложенные структуры.
1
diagon
Higher
1937 / 1203 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
12.08.2011, 15:20 6
Цитата Сообщение от ValeryLaptev Посмотреть сообщение
И в структурном программировании есть вложенные структуры.
Так структура это класс, а класс это ООП...
0
grrrrr
45 / 45 / 13
Регистрация: 21.04.2009
Сообщений: 265
12.08.2011, 15:23  [ТС] 7
ValeryLaptev, видимо мне нужна практика, т.к. со вложенными структурами я еще ничего не делал, а с простыми структурами пару примеров делал. Всем спасибо за отклик, ушел набираться опыта!
0
silent_1991
Эксперт С++
5011 / 3071 / 271
Регистрация: 11.11.2009
Сообщений: 7,045
Завершенные тесты: 1
12.08.2011, 15:24 8
diagon, в структурном программировании структура классом быть никак не может по одной простой причине: в структурном программировании не существует понятия класс.
1
diagon
Higher
1937 / 1203 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
12.08.2011, 15:27 9
Цитата Сообщение от silent_1991 Посмотреть сообщение
diagon, в структурном программировании структура классом быть никак не может по одной простой причине: в структурном программировании не существует понятия класс.
Т.е. используется чисто как хранилище для нескольких переменных одновременно? Просто я у Страуструпа читал, что структура - вид класса с другим доступом по умолчанию.
0
ForEveR
В астрале
Эксперт С++
7997 / 4755 / 652
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
12.08.2011, 15:32 10
diagon, В С++ да. В Си нет.
1
ValeryLaptev
Эксперт С++
1050 / 829 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
12.08.2011, 15:35 11
Цитата Сообщение от diagon Посмотреть сообщение
Так структура это класс, а класс это ООП...
Это в С++ структура - класс. А в Компонентном паскале - вовсе не класс, а запись... А хочешь, чтоб она классом стала - напиши, что от нее можно наследоваться...
1
fasked
Эксперт С++
4984 / 2563 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
12.08.2011, 16:28 12
Цитата Сообщение от diagon Посмотреть сообщение
Т.е. используется чисто как хранилище для нескольких переменных одновременно?
В С++ структуры оставили только ради совместимости с Си, то есть, чтобы некоторый сишный код компилировался компилятором С++. Собственно, поэтому по-умолчанию в структурах public, а не private.
2
Kastaneda
12.08.2011, 16:32
  #13

Не по теме:

Цитата Сообщение от diagon Посмотреть сообщение
а класс это ООП...
Ой ли?;)

Есть еще т.н. объектно базированное программирование. Все мы читали, что до того как С++ стал С++ (си плюс плюсом) он назывался "Си с классами", который ни какого отношение к ООП не имел, это и было то самое ОБП.
В общем не все, что с классами есть ООП:read:

1
accept
4833 / 3255 / 455
Регистрация: 10.12.2008
Сообщений: 10,569
13.08.2011, 06:00 14
Цитата Сообщение от grrrrr
Скажите пожалуйста для чего нужны вложенные структуры и где их используют?
с помощью вложенных структур можно собирать сложные объекты

в K&R2 пример про точки:
C
1
2
3
4
5
6
7
struct point {
    int x, y;
};
 
struct rect {
    struct point pt1, pt2;
};
прямоугольник - это структура, содержащая две точки (левый нижний угол и правый верхний)
точка - это структура, содержащая две координаты
0
13.08.2011, 06:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.08.2011, 06:00

Для чего нужны заголовочные файлы?
Ещё раз всем здрасьте , последний вопрос в котором я не могу разобраться - Для...

для чего нужны хеш таблицы?
для чего нужны хеш таблицы? если есть массивы )

Для чего нужны файлы с расширением .h, .c?
Не подскажите, для чего нужен (.h) и (.c) файл? А (.cpp)? Я читал, что это...


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

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

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