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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
#1

Отличаи класса С++ от структуры на С и структуры на С++ - C++

28.12.2012, 17:35. Просмотров 1112. Ответов 23
Метки нет (Все метки)

Можете, пожалуйста, перечислить все отличия?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2012, 17:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Отличаи класса С++ от структуры на С и структуры на С++ (C++):

Помещение структуры в вектор, удаление структуры, изменение элементов структуры - C++
Здравствуйте. Помогите разобраться с тем, как: 1 - находить элементы в векторе зная уникальный элемент структуры. 2 - удалять...

Динамические структуры данных. Программа ввода в структуры и вывода информации из неё. - C++
Автоматизированная информационная система на железнодорожном вокзале содержит сведения об отправлении поездов дальнего следования. Для...

Функция внутри структуры использует указатель, как поле этой структуры - C++
Коротко, есть класс A, описан в файле A_class.h ну и реализованы функции в A_class.cpp, есть файл GlobalItems.h, где хранятся глобальные...

Структуры, массивы структур (как можно присваивать(инициализировать) значения полям структуры) - C++
Есть у меня вот такая структура, например struct Subject { int cost; int Volume; }; Потом создаю экземпляр, Subject G; ...

Вывод структуры, строка как элемент структуры - C++
Описать структуру с именем TRAIN, содержащую следующие поля: □ название пункта назначения; □ номер поезда; □ время отправления. ...

Объявление структуры и класса - C++
Ругается на строку obj_cls.prv=3; и на объявление класса. Что у меня не правильно? #include <iostream> using namespace std; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
28.12.2012, 18:49  [ТС] #16
Цитата Сообщение от soon Посмотреть сообщение
no methods, no constructor, no base classes, etc.
Да всё здесь более-мение понятно, вот только слово etc. заставляет задуматься о не полной информации.

Добавлено через 1 минуту
Цитата Сообщение от go Посмотреть сообщение
В Си нет ООП. Там не могут быть объекты.
Я под объектом понимаю любой тип данных, поясните, пожалуйста.
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
28.12.2012, 18:51 #17
Цитата Сообщение от xtorne21st Посмотреть сообщение
Я под объектом понимаю любой тип данных, поясните, пожалуйста.
Объект - экземпляр класса, а никак не тип данных. В С++, в отличие от C#, не все является объектом.
Кастрированность сишных структур, кстати, можно описать так - нету функциональных членов.
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
28.12.2012, 18:54 #18
Цитата Сообщение от xtorne21st Посмотреть сообщение
Да всё здесь более-мение понятно, вот только слово etc. заставляет задуматься о не полной информации.
Главный кусок там
struct is just an aggregate collection of (public) data
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
28.12.2012, 18:56  [ТС] #19
Цитата Сообщение от diagon Посмотреть сообщение
Объект - экземпляр класса, а никак не тип данных. В С++, в отличие от C#, не все является объектом.
Кастрированность сишных структур, кстати, можно описать так - нету функциональных членов.
Т.е. если мы имеем:
C++
1
2
3
4
5
6
class Newclass {                                                                                                
    int i;                                                                                                      
    int j;                                                                                                      
};                                                                                                               
                                                                                                                
int c;
i, j - объекты получается, то что же тогда с?
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
28.12.2012, 19:01 #20
Цитата Сообщение от xtorne21st Посмотреть сообщение
i, j - объекты получается
Да нет, это поля. Объектом был бы экземпляр вашего класса.
i, j, c имеют тип int. int - фундаментальный тип, который не является классом, следовательно, i, j, c не могут считаться объектами.
Что они в таком случае - точной терминологии не знаю, но обычно их называют просто переменными.
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
28.12.2012, 19:06  [ТС] #21
Цитата Сообщение от diagon Посмотреть сообщение
Да нет, это поля. Объектом был бы экземпляр вашего класса.
i, j, c имеют тип int. int - фундаментальный тип, который не является классом, следовательно, i, j, c не могут считаться объектами.
Что они в таком случае - точной терминологии не знаю, но обычно их называют просто переменными.
А я читал, вроде, всё, под что выделяется память называется объектом. Не буду утверждать, может объект в разных источник трактуется по разному...
defer
秘密
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
28.12.2012, 19:12 #22
Цитата Сообщение от xtorne21st Посмотреть сообщение
А я читал, вроде, всё, под что выделяется память называется объектом.
Это в книгах по С иногда так пишут

Добавлено через 3 минуты
Вот пример

ПРИМЕЧАНИЕ
В языке С объект — это просто поименованная область
памяти, и не следует его путать с принятым в С++ оп-
ределением объекта как экземпляра класса.
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
28.12.2012, 19:13  [ТС] #23
Цитата Сообщение от defer Посмотреть сообщение
Это в книгах по С иногда так пишут
Как я понял понятие "объект" довольно абстрактное и единого определения здесь нет. Ладно что-то отклонились от основной темы, всем спасибо за помощь.
Kastaneda
Форумчанин
Эксперт С++
4652 / 2860 / 228
Регистрация: 12.12.2009
Сообщений: 7,268
Записей в блоге: 2
Завершенные тесты: 1
28.12.2012, 19:18 #24
Цитата Сообщение от xtorne21st Посмотреть сообщение
А я читал, вроде, всё, под что выделяется память называется объектом.
По некоторой терминологии так и есть. Просто это очень скользкий вопрос, тут все зависит от контекста.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2012, 19:18
Привет! Вот еще темы с ответами:

Указатель на член структуры/класса - C++
Всем привет! Помогите разобраться. Пусть есть такой код: template <typename Type> class DynamicQueue { private: class Node { ...

Отличие структуры и класса от контейнера - C++
Добрый день! Подскажите пожалуйста, чем отличается контейнер от структуры и класса?

Функция класса заполнения структуры - C++
Помогите пожалуйста, начал учиться С++, есть задание создать в функцию класса для заполнения структы различными данными. числа вводятся, а...

Поля структуры внутри класса - C++
Здравствуйте, почему при выполнении метода movingNode поля элемента структуры node (координаты x и y) не меняются? Метод: void...


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

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

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