Чайник
70 / 70 / 9
Регистрация: 15.02.2012
Сообщений: 475
|
|
1 | |
В чем отличия классов и структур?17.03.2012, 16:27. Показов 52368. Ответов 21
Метки нет (Все метки)
Всем доброго времени суток.
Уважаемые программисты, обьясните мне в чем отличия классов и структур. Учусь сам по книжкам и прочей лабуде и так и не чего не понимаю. По мне так класс это типо усложненая версия структуры, но тогда зачем она нужна. Вообще зачем нужны классы и как ими пользоваться. Заранее спасибо.
0
|
17.03.2012, 16:27 | |
Ответы с готовыми решениями:
21
Подскажите начинающему программисту, в чем отличие структур от классов в C++ C++ Отличия структур от массивов Напишите отличия классов от объектов В чем отличия C++ и C# |
48 / 48 / 11
Регистрация: 12.03.2012
Сообщений: 108
|
|
17.03.2012, 16:33 | 2 |
по типу дефолтного доступа.
класс, объявленный как class, имеет по умолчанию доступ private. класс, объявленный как struct, имеет по умолчанию доступ public. как следствие, наследуя структуру от класса, не обязательно указывать слово public Добавлено через 1 минуту Нужно отталкиваться от инкапсуляции. Например, конструктор в структуре полезен довольно часто, хотя, быть может, поля открыты и методы-аксессоры отсутствуют. А если, например, нужно гарантировать, что переменная через интерфейс должна быть только для чтения, поле нужно закрыть и написать соответствующий get - это уже намекает на класс.
1
|
6 / 6 / 1
Регистрация: 04.12.2011
Сообщений: 35
|
|
17.03.2012, 16:34 | 3 |
Ну в принципе различие в том , что классы могут использовать функции а структуры нет, кстати, сейчас сам ищу этот материал ,подскажите где можно почитать, о перегрузке функций в классе и т.д
1
|
48 / 48 / 11
Регистрация: 12.03.2012
Сообщений: 108
|
|
17.03.2012, 16:35 | 4 |
имхо это больше формальная сторона, те кодер сам решает, если ему мало структуры и нужно использовать тучу методов, тогда через классы
1
|
Каратель
|
||||||
17.03.2012, 16:36 | 5 | |||||
ни в чем, кроме
1) специфкатора доступа к полям и методам по умолчанию 2) спецификатора наследования по умолчанию
в этом вопросе ваш лучший друг - литература
7
|
48 / 48 / 11
Регистрация: 12.03.2012
Сообщений: 108
|
|
17.03.2012, 16:39 | 6 |
andry-raser, попробуй тут http://valera.asf.ru/cpp/book/c09.html
1
|
6 / 6 / 1
Регистрация: 04.12.2011
Сообщений: 35
|
|
17.03.2012, 16:45 | 7 |
Hemull , спасибо посмотрю , просто на лекциях никому не ясно ничего, препод немного не логично трактует
1
|
Чайник
70 / 70 / 9
Регистрация: 15.02.2012
Сообщений: 475
|
|
17.03.2012, 16:45 [ТС] | 8 |
Ну вообщем получается что особых отличий нет и классы и структуры взаимозаменяемы. Всем СПАСБО.
0
|
Kastaneda
|
17.03.2012, 16:47
#9
|
1
|
6 / 6 / 1
Регистрация: 04.12.2011
Сообщений: 35
|
|
17.03.2012, 16:47 | 10 |
cactus09 , ну в общем запомни что в С классов нету, а С++ и то и другое , то есть класс это усовершенствованная версия структуры, с возможностью юзать функции
1
|
17.03.2012, 16:50 | 11 |
вот уже обсуждалось Отличия между структурами и классами
почитай, там умные люди объяснили лучше, чем в книгах Добавлено через 53 секунды
3
|
silent_1991
|
17.03.2012, 17:20
#12
|
0
|
17.03.2012, 17:59 | 13 |
Какие есть технические отличия - сказано в посте #5. Идеологически структура и класс отличаются. Класс обычно используется для реализации чёрного ящика с определёнными интерфейсами, а структура обычно используется как белый ящик с данными.
1
|
0 / 0 / 0
Регистрация: 24.07.2013
Сообщений: 46
|
|
17.06.2014, 19:16 | 14 |
andry-raser, в С классов нету, но функции в структуре использовать можно и за просто!
Через указатель на адрес начало функции. Если интересно, могу привести пример.
0
|
76 / 71 / 55
Регистрация: 17.05.2014
Сообщений: 301
|
||||||
17.06.2014, 21:01 | 16 | |||||
andry-raser, cactus09, структура это тот же класс, только с публичными по умолчанию полями. Функции работают и там, и там. Можете попробовать запустить данный код и убедиться:
1
|
0 / 0 / 0
Регистрация: 24.07.2013
Сообщений: 46
|
||||||
17.06.2014, 22:25 | 17 | |||||
Evg, проект комерческий, поэтому целиком код модуля привести не могу. Но, не большой кусок кода, что бы можно было уловить суть, да. Это куски кода модуля меню для ARMки и Графического дисплея. Структура меню для понимания и простоты демонстрации взята из первой версии модуля, так как дальше он разрося до 12 файлов по несколькосот строк в каждом.
0
|
0 / 0 / 0
Регистрация: 24.07.2013
Сообщений: 46
|
|
18.06.2014, 00:30 | 19 |
А я и не говорил о том, что можно расположить функцию в структуре, а о том, что её можно использовать в функции.
0
|
18.06.2014, 13:18 | 20 |
Ну и покажи мне пальцем, где ты используешь функции в структуре?
0
|
18.06.2014, 13:18 | |
18.06.2014, 13:18 | |
Помогаю со студенческими работами здесь
20
в чем отличия? В чем отличия \1 и $1? В чём отличия C# от С++ В чем отличия версии Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |