Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/41: Рейтинг темы: голосов - 41, средняя оценка - 4.56
 Аватар для grrrrr
49 / 49 / 13
Регистрация: 21.04.2009
Сообщений: 265

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

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

Студворк — интернет-сервис помощи студентам
Скажите пожалуйста для чего нужны вложенные структуры и где их используют?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.08.2011, 13:52
Ответы с готовыми решениями:

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

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

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

13
71 / 76 / 9
Регистрация: 30.06.2011
Сообщений: 176
12.08.2011, 13:55
Для внутреннего использования. Например, какой-то тип данных внутри класса представить в виде структуры.
1
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
12.08.2011, 15:09
Как пример: очень удобно внутри класса List описать класс ListNode, поскольку узел списка отдельно от списка никому не нужен, а завернуть цепочку узлов в один класс List очень удобно.
1
 Аватар для grrrrr
49 / 49 / 13
Регистрация: 21.04.2009
Сообщений: 265
12.08.2011, 15:17  [ТС]
silent_1991, я плохо знаю что такое списки и очереди, в общем понимаю как это работает, но когда вижу реализацию ничего не понимаю. От структурного программирования С++ в ООП я перешел недавно, наверное, поэтому мне так сложно.
0
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
12.08.2011, 15:19
Когда-то давным-давно... Когда деревья были большими, а трава - зеленая, был такой язык С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
Higher
 Аватар для diagon
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
12.08.2011, 15:20
Цитата Сообщение от ValeryLaptev Посмотреть сообщение
И в структурном программировании есть вложенные структуры.
Так структура это класс, а класс это ООП...
0
 Аватар для grrrrr
49 / 49 / 13
Регистрация: 21.04.2009
Сообщений: 265
12.08.2011, 15:23  [ТС]
ValeryLaptev, видимо мне нужна практика, т.к. со вложенными структурами я еще ничего не делал, а с простыми структурами пару примеров делал. Всем спасибо за отклик, ушел набираться опыта!
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
12.08.2011, 15:24
diagon, в структурном программировании структура классом быть никак не может по одной простой причине: в структурном программировании не существует понятия класс.
1
Higher
 Аватар для diagon
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
12.08.2011, 15:27
Цитата Сообщение от silent_1991 Посмотреть сообщение
diagon, в структурном программировании структура классом быть никак не может по одной простой причине: в структурном программировании не существует понятия класс.
Т.е. используется чисто как хранилище для нескольких переменных одновременно? Просто я у Страуструпа читал, что структура - вид класса с другим доступом по умолчанию.
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
12.08.2011, 15:32
diagon, В С++ да. В Си нет.
1
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
12.08.2011, 15:35
Цитата Сообщение от diagon Посмотреть сообщение
Так структура это класс, а класс это ООП...
Это в С++ структура - класс. А в Компонентном паскале - вовсе не класс, а запись... А хочешь, чтоб она классом стала - напиши, что от нее можно наследоваться...
1
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
12.08.2011, 16:28
Цитата Сообщение от diagon Посмотреть сообщение
Т.е. используется чисто как хранилище для нескольких переменных одновременно?
В С++ структуры оставили только ради совместимости с Си, то есть, чтобы некоторый сишный код компилировался компилятором С++. Собственно, поэтому по-умолчанию в структурах public, а не private.
2
12.08.2011, 16:32

Не по теме:

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

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

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

в K&R2 пример про точки:
C
1
2
3
4
5
6
7
struct point {
    int x, y;
};
 
struct rect {
    struct point pt1, pt2;
};
прямоугольник - это структура, содержащая две точки (левый нижний угол и правый верхний)
точка - это структура, содержащая две координаты
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.08.2011, 06:00
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru