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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 39, средняя оценка - 4.90
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
#1

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

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

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

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

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

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
An1ka
65 / 70 / 2
Регистрация: 30.06.2011
Сообщений: 176
12.08.2011, 13:55 #2
Для внутреннего использования. Например, какой-то тип данных внутри класса представить в виде структуры.
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
12.08.2011, 15:09 #3
Как пример: очень удобно внутри класса List описать класс ListNode, поскольку узел списка отдельно от списка никому не нужен, а завернуть цепочку узлов в один класс List очень удобно.
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
12.08.2011, 15:17  [ТС] #4
silent_1991, я плохо знаю что такое списки и очереди, в общем понимаю как это работает, но когда вижу реализацию ничего не понимаю. От структурного программирования С++ в ООП я перешел недавно, наверное, поэтому мне так сложно.
ValeryLaptev
Эксперт С++
1040 / 819 / 48
Регистрация: 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, я плохо знаю что такое списки и очереди, в общем понимаю как это работает, но когда вижу реализацию ничего не понимаю. От структурного программирования С++ в ООП я перешел недавно, наверное, поэтому мне так сложно.
И в структурном программировании есть вложенные структуры.
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
12.08.2011, 15:20 #6
Цитата Сообщение от ValeryLaptev Посмотреть сообщение
И в структурном программировании есть вложенные структуры.
Так структура это класс, а класс это ООП...
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
12.08.2011, 15:23  [ТС] #7
ValeryLaptev, видимо мне нужна практика, т.к. со вложенными структурами я еще ничего не делал, а с простыми структурами пару примеров делал. Всем спасибо за отклик, ушел набираться опыта!
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
12.08.2011, 15:24 #8
diagon, в структурном программировании структура классом быть никак не может по одной простой причине: в структурном программировании не существует понятия класс.
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
12.08.2011, 15:27 #9
Цитата Сообщение от silent_1991 Посмотреть сообщение
diagon, в структурном программировании структура классом быть никак не может по одной простой причине: в структурном программировании не существует понятия класс.
Т.е. используется чисто как хранилище для нескольких переменных одновременно? Просто я у Страуструпа читал, что структура - вид класса с другим доступом по умолчанию.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
12.08.2011, 15:32 #10
diagon, В С++ да. В Си нет.
ValeryLaptev
Эксперт С++
1040 / 819 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
12.08.2011, 15:35 #11
Цитата Сообщение от diagon Посмотреть сообщение
Так структура это класс, а класс это ООП...
Это в С++ структура - класс. А в Компонентном паскале - вовсе не класс, а запись... А хочешь, чтоб она классом стала - напиши, что от нее можно наследоваться...
fasked
Эксперт С++
4934 / 2514 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
12.08.2011, 16:28 #12
Цитата Сообщение от diagon Посмотреть сообщение
Т.е. используется чисто как хранилище для нескольких переменных одновременно?
В С++ структуры оставили только ради совместимости с Си, то есть, чтобы некоторый сишный код компилировался компилятором С++. Собственно, поэтому по-умолчанию в структурах public, а не private.
Kastaneda
12.08.2011, 16:32
  #13

Не по теме:

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

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

accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
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;
};
прямоугольник - это структура, содержащая две точки (левый нижний угол и правый верхний)
точка - это структура, содержащая две координаты
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.08.2011, 06:00
Привет! Вот еще темы с ответами:

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

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

Для чего нужны битовые операции? - C++
Здравствуйте. Дошел в книге Стенли до битовых операций, но никак не могу понять их предназначение. Где вообще они используются и как с...

Объяснить для чего нужны флаги в программировании - C++
Всем привет, объясните, пожалуйста, для чего нужны флаги. И как они работают( на примере). Спасибо!


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.08.2011, 06:00
Ответ Создать тему
Опции темы

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