|
Чайник
70 / 70 / 9
Регистрация: 15.02.2012
Сообщений: 475
|
|
В чем отличия классов и структур?17.03.2012, 16:27. Показов 53246. Ответов 21
Метки нет (Все метки)
Всем доброго времени суток.
Уважаемые программисты, обьясните мне в чем отличия классов и структур. Учусь сам по книжкам и прочей лабуде и так и не чего не понимаю. По мне так класс это типо усложненая версия структуры, но тогда зачем она нужна. Вообще зачем нужны классы и как ими пользоваться. Заранее спасибо.
0
|
|
| 17.03.2012, 16:27 | |
|
Ответы с готовыми решениями:
21
Подскажите начинающему программисту, в чем отличие структур от классов в C++
Напишите отличия классов от объектов |
|
48 / 48 / 11
Регистрация: 12.03.2012
Сообщений: 108
|
|
| 17.03.2012, 16:33 | |
|
по типу дефолтного доступа.
класс, объявленный как class, имеет по умолчанию доступ private. класс, объявленный как struct, имеет по умолчанию доступ public. как следствие, наследуя структуру от класса, не обязательно указывать слово public Добавлено через 1 минуту Нужно отталкиваться от инкапсуляции. Например, конструктор в структуре полезен довольно часто, хотя, быть может, поля открыты и методы-аксессоры отсутствуют. А если, например, нужно гарантировать, что переменная через интерфейс должна быть только для чтения, поле нужно закрыть и написать соответствующий get - это уже намекает на класс.
1
|
|
|
6 / 6 / 1
Регистрация: 04.12.2011
Сообщений: 35
|
|
| 17.03.2012, 16:34 | |
|
Ну в принципе различие в том , что классы могут использовать функции а структуры нет, кстати, сейчас сам ищу этот материал ,подскажите где можно почитать, о перегрузке функций в классе и т.д
1
|
|
|
48 / 48 / 11
Регистрация: 12.03.2012
Сообщений: 108
|
|
| 17.03.2012, 16:35 | |
|
имхо это больше формальная сторона, те кодер сам решает, если ему мало структуры и нужно использовать тучу методов, тогда через классы
1
|
|
|
Каратель
|
|||||||||
| 17.03.2012, 16:36 | |||||||||
|
1) специфкатора доступа к полям и методам по умолчанию 2) спецификатора наследования по умолчанию
7
|
|||||||||
|
48 / 48 / 11
Регистрация: 12.03.2012
Сообщений: 108
|
|
| 17.03.2012, 16:39 | |
|
andry-raser, попробуй тут http://valera.asf.ru/cpp/book/c09.html
1
|
|
|
6 / 6 / 1
Регистрация: 04.12.2011
Сообщений: 35
|
|
| 17.03.2012, 16:45 | |
|
Hemull , спасибо посмотрю , просто на лекциях никому не ясно ничего, препод немного не логично трактует
1
|
|
|
Чайник
70 / 70 / 9
Регистрация: 15.02.2012
Сообщений: 475
|
|
| 17.03.2012, 16:45 [ТС] | |
|
Ну вообщем получается что особых отличий нет и классы и структуры взаимозаменяемы. Всем СПАСБО.
0
|
|
| 17.03.2012, 16:47 | |
|
1
|
|
|
6 / 6 / 1
Регистрация: 04.12.2011
Сообщений: 35
|
|
| 17.03.2012, 16:47 | |
|
cactus09 , ну в общем запомни что в С классов нету, а С++ и то и другое , то есть класс это усовершенствованная версия структуры, с возможностью юзать функции
1
|
|
|
|
|
| 17.03.2012, 16:50 | |
|
вот уже обсуждалось Отличия между структурами и классами
почитай, там умные люди объяснили лучше, чем в книгах ![]() Добавлено через 53 секунды
3
|
|
| 17.03.2012, 17:20 | |
|
0
|
|
|
|
||
| 17.03.2012, 17:59 | ||
|
1
|
||
|
0 / 0 / 0
Регистрация: 24.07.2013
Сообщений: 46
|
|
| 17.06.2014, 19:16 | |
|
andry-raser, в С классов нету, но функции в структуре использовать можно и за просто!
Через указатель на адрес начало функции. Если интересно, могу привести пример.
0
|
|
|
76 / 71 / 55
Регистрация: 17.05.2014
Сообщений: 301
|
||||||
| 17.06.2014, 21:01 | ||||||
|
andry-raser, cactus09, структура это тот же класс, только с публичными по умолчанию полями. Функции работают и там, и там. Можете попробовать запустить данный код и убедиться:
1
|
||||||
|
0 / 0 / 0
Регистрация: 24.07.2013
Сообщений: 46
|
||||||
| 17.06.2014, 22:25 | ||||||
|
Evg, проект комерческий, поэтому целиком код модуля привести не могу. Но, не большой кусок кода, что бы можно было уловить суть, да. Это куски кода модуля меню для ARMки и Графического дисплея. Структура меню для понимания и простоты демонстрации взята из первой версии модуля, так как дальше он разрося до 12 файлов по несколькосот строк в каждом.
0
|
||||||
|
0 / 0 / 0
Регистрация: 24.07.2013
Сообщений: 46
|
||
| 18.06.2014, 00:30 | ||
|
А я и не говорил о том, что можно расположить функцию в структуре, а о том, что её можно использовать в функции.
0
|
||
|
|
|
| 18.06.2014, 13:18 | |
|
Ну и покажи мне пальцем, где ты используешь функции в структуре?
0
|
|
| 18.06.2014, 13:18 | |
|
Помогаю со студенческими работами здесь
20
В чем отличия C++ и C# в чем отличия? В чем отличия \1 и $1? В чём отличия C# от С++ В чем отличия версии Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|