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

Разница между объектом и экземпляром класса - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 87, средняя оценка - 4.85
The_bolT
70 / 70 / 1
Регистрация: 22.01.2013
Сообщений: 231
02.03.2013, 21:34     Разница между объектом и экземпляром класса #1
Можете объяснить какая между этими понятиями разница?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
AncientPenguin
98 / 45 / 18
Регистрация: 09.08.2015
Сообщений: 367
01.09.2015, 16:17     Разница между объектом и экземпляром класса #81
Croessmah, нет уж либо добавьте слово класс и к объекту:

Цитата Сообщение от Croessmah Посмотреть сообщение
объект класса может не быть экземпляром класса
Либо уберите вообще:

Цитата Сообщение от Croessmah Посмотреть сообщение
объект может не быть экземпляром
Уже не так логично смотрится, правда?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11822 / 6801 / 769
Регистрация: 27.09.2012
Сообщений: 16,870
Записей в блоге: 2
Завершенные тесты: 1
01.09.2015, 16:23     Разница между объектом и экземпляром класса #82
AncientPenguin, название темы
Разница между объектом и экземпляром класса
С чего бы здесь что-то добавлять.
AncientPenguin
98 / 45 / 18
Регистрация: 09.08.2015
Сообщений: 367
01.09.2015, 16:33     Разница между объектом и экземпляром класса #83
Croessmah, а мне зачем пишите? Я просил разницу между словами экземпляр и объект.
В любом случае там имеется в виду между объектом класса и экземпляром класса.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11822 / 6801 / 769
Регистрация: 27.09.2012
Сообщений: 16,870
Записей в блоге: 2
Завершенные тесты: 1
01.09.2015, 17:56     Разница между объектом и экземпляром класса #84
AncientPenguin, ну ок. Вот: http://stackoverflow.com/questions/2...and-instance-c
In C++ "object" and "instance" are used nearly interchangably
...
C++
1
2
int x = 0;
int& foo = x;
foo is an instance of the type int&, but calling foo an object is probably wrong! It is a reference -- an alias, or a different name for some object (in this case x).
...
This is a useful distinction: a type does not have to denote an object type if it is a reference type. Object types behave differently than reference types in a number of important ways.
и из стандарта:
3.9
8. An object type is a (possibly cv-qualified) type that is not a function type, not a reference type, and not a
void type
Добавлено через 15 минут
ну и отсебятины:
C++
1
2
3
4
5
6
7
int func () //является ли экземпляром перегруженной функции func?
{
}
 
int func ( int )//является ли экземпляром перегруженной функции func?
{
}
AncientPenguin
98 / 45 / 18
Регистрация: 09.08.2015
Сообщений: 367
01.09.2015, 19:39     Разница между объектом и экземпляром класса #85
Цитата Сообщение от Croessmah Посмотреть сообщение
и из стандарта:
Вот это уже убедительнее. Ладно я был не прав, тут решает не тот факт что это синонимы, тут решает тот факт что в название темы есть слово класс. Экземпляр класса == объекту класса в С++.

Цитата Сообщение от Croessmah Посмотреть сообщение
AncientPenguin, объект может не быть экземпляром класса
Судя по вашей цитате - не может.
hoggy
5225 / 2116 / 403
Регистрация: 15.11.2014
Сообщений: 4,800
Завершенные тесты: 1
01.09.2015, 19:41     Разница между объектом и экземпляром класса #86
Цитата Сообщение от The_bolT Посмотреть сообщение
Можете объяснить какая между этими понятиями разница?
объект - это кусок памяти.
объект детонирует (обозначает) имя.
имя задается в виде текстовой метки.
имя обладает областью видимости,
типом, и квалификатором.

тип определяет содержимое этого куска памяти.
(ц) Страуструп, по памяти.
здесь нужно сделать оговорку:
объекты случаются безымянные
(например, временный объект, либо экземпляр безымянного класса/структуры).

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


таким образом формально, объект -
это тупо любой доступный для нас кусок памяти.


а вот когда говорят "экземпляр", то имеют ввиду объект именно класса.
а не какой нибудь массив чаров.

экзепляры бывают у классов:
"экземпляр класса"
Cdelphi78
 Аватар для Cdelphi78
127 / 61 / 12
Регистрация: 21.02.2014
Сообщений: 2,408
01.09.2015, 20:02     Разница между объектом и экземпляром класса #87
Цитата Сообщение от AncientPenguin Посмотреть сообщение
Вот это уже убедительнее.
Да а в других яыках как или вообще в ООП вообщем?
hoggy
5225 / 2116 / 403
Регистрация: 15.11.2014
Сообщений: 4,800
Завершенные тесты: 1
01.09.2015, 21:00     Разница между объектом и экземпляром класса #88
Цитата Сообщение от AncientPenguin Посмотреть сообщение
Судя по вашей цитате - не может.
напротив.

экземпляр - всегда объект.
но объект - не всегда экземпляр.

Добавлено через 2 минуты
Цитата Сообщение от Cdelphi78 Посмотреть сообщение
Да а в других яыках как или вообще в ООП вообщем?
в каноничном ООП все есть объект.

то, что в с++ называется "вызовом функции члена",
в каноничном ооп называется "посылкой сообщения".
при этом само сообщение - тоже объект.


если в с++ объект - это тупо кусок памяти,
то в каноничном ооп, объект - это экземпляр класса,
сущность наделенная свойствами, и умениями.

тобишь там это понятие более "выскоуровневое"
DrOffset
6425 / 3799 / 880
Регистрация: 30.01.2014
Сообщений: 6,592
01.09.2015, 21:01     Разница между объектом и экземпляром класса #89
Цитата Сообщение от Cdelphi78 Посмотреть сообщение
вообще в ООП
Вот тут очень хорошо написано: https://en.wikipedia.org/wiki/Instan...ter_science%29
AncientPenguin
98 / 45 / 18
Регистрация: 09.08.2015
Сообщений: 367
01.09.2015, 22:02     Разница между объектом и экземпляром класса #90
Цитата Сообщение от hoggy Посмотреть сообщение
экземпляр - всегда объект.
но объект - не всегда экземпляр.


Цитата Сообщение от Croessmah Посмотреть сообщение
8. An object type is a (possibly cv-qualified) type that is not a function type, not a reference type, and not a void type
А что такое тогда функция и ссылка? Еще одно отдельное понятие? Тут написано что функция и ссылка не объекты, следовательно и не экземпляры...
Cdelphi78
 Аватар для Cdelphi78
127 / 61 / 12
Регистрация: 21.02.2014
Сообщений: 2,408
01.09.2015, 22:20     Разница между объектом и экземпляром класса #91
Цитата Сообщение от hoggy Посмотреть сообщение
то в каноничном ооп, объект - это экземпляр класса
а экземпляр класса?
hoggy
5225 / 2116 / 403
Регистрация: 15.11.2014
Сообщений: 4,800
Завершенные тесты: 1
01.09.2015, 22:22     Разница между объектом и экземпляром класса #92
Цитата Сообщение от AncientPenguin Посмотреть сообщение
Тут написано что функция и ссылка не объекты, следовательно и не экземпляры...
ага.

Цитата Сообщение от AncientPenguin Посмотреть сообщение
А что такое тогда функция и ссылка? Еще одно отдельное понятие?
ссылка - псевдоним имени объекта.

в отличие от указателя, который является полноценным объектом,
ссылка не обладает идентичностью.
своих объектов у ссылки нет.


функция - это процедура/алгоритм/блок кода,
который мы хотим выполнить.

почему она оффициально не является объектом - не понятно.
дело в том, что мы можем сделать ссылку на функцию,
и вызвать функцию по ссылке.

по стандарту ссылка - это псевдоним имени объекта.
из этого положения вытекает, что все,
на что мы можем сделать ссылку - это имена объектов.
из этого положения вытекает, что функция - тоже объект.

я думаю в этом месте стандарт имеет некоторое противоречие самому себе.

Добавлено через 1 минуту
Цитата Сообщение от Cdelphi78 Посмотреть сообщение
а экземпляр класса?
сущность наделенная свойствами и умениями.
AncientPenguin
98 / 45 / 18
Регистрация: 09.08.2015
Сообщений: 367
01.09.2015, 22:33     Разница между объектом и экземпляром класса #93
Цитата Сообщение от hoggy Посмотреть сообщение
ссылка - псевдоним имени объекта.
Цитата Сообщение от hoggy Посмотреть сообщение
функция - это имя процедуры/алгоритма/блока кода,
который мы хотим выполнить.
Это описание, а надо слово которое указывает на конкретную функцию или ссылку из множества (объект, экземпляр, штука, сущность, образец...).

Цитата Сообщение от hoggy Посмотреть сообщение
почему она оффициально не является объектом - не понятно.
Мне тоже.
Cdelphi78
 Аватар для Cdelphi78
127 / 61 / 12
Регистрация: 21.02.2014
Сообщений: 2,408
01.09.2015, 22:33     Разница между объектом и экземпляром класса #94
Цитата Сообщение от hoggy Посмотреть сообщение
сущность наделенная свойствами и умениями.
Ага, то есть сначала идет экземпляр класса(от внутреннего к внешнему) потом идет объект класса, а за ним уже сам класс и наооборот.
Mr.X
Эксперт С++
 Аватар для Mr.X
2801 / 1577 / 247
Регистрация: 03.05.2010
Сообщений: 3,662
01.09.2015, 23:51     Разница между объектом и экземпляром класса #95
Цитата Сообщение от Cdelphi78 Посмотреть сообщение
Ага, то есть сначала идет экземпляр класса(от внутреннего к внешнему) потом идет объект класса, а за ним уже сам класс и наооборот.
Блин, совсем запудрили мозги человеку. Эта тема такая же опасная, как и указатели. У на вид серьезных и даже опытных товарищей (не говоря уже о новичках) внезапно начинает ехать крыша, и они начинают бредить и долго и нудно нести ахинею с троллями, которые сползаются в эти темы в невиданном количестве.
Так что новичкам с неустойчивой психикой в эти темы лучше не заходить.
Cdelphi78
 Аватар для Cdelphi78
127 / 61 / 12
Регистрация: 21.02.2014
Сообщений: 2,408
02.09.2015, 00:13     Разница между объектом и экземпляром класса #96
Цитата Сообщение от DrOffset Посмотреть сообщение
Вот тут очень хорошо написано: https://en.wikipedia.org/wiki/Instan...ter_science%29
In object-oriented programming (OOP), an instance is a specific realization of any object. Formally, "instance" is synonymous with "object" as they are each a particular value (realization), and these may be called an instance object; "instance" emphasizes the distinct identity of the object. The creation of an instance is called instantiation.
Ну то есть экземпляр является реализацией объекта но формально, чисто формально это синонимы, это как?
gru74ik
Модератор
 Аватар для gru74ik
3116 / 1342 / 167
Регистрация: 20.02.2013
Сообщений: 3,809
Записей в блоге: 17
02.09.2015, 04:50     Разница между объектом и экземпляром класса #97
Цитата Сообщение от Mr.X Посмотреть сообщение
Дельфисты говорят "экземпляр", страуструповцы - "объект". А что есть истина?
Не знаю, чего Вы так упёрлись.
В стандарте употребляются оба термина - и "object of class" и "instance of class".
В учебной литературе (хорошей учебной литературе) употребляются оба термина.
Страуструп, кстати, тоже употребляет оба термина (пруф):
This saves a bit of typing, but the real benefits come in classes with multiple constructors. Often, all constructors use a common initializer for a member:
C++
1
2
3
4
5
6
7
8
9
10
class A {
public:
    A(): a(7), b(5), hash_algorithm("MD5"), s("Constructor run") {}
    A(int a_val) : a(a_val), b(5), hash_algorithm("MD5"), s("Constructor run") {}
    A(D d) : a(7), b(g(d)), hash_algorithm("MD5"), s("Constructor run") {}
    int a, b;
private:
    HashingFunction hash_algorithm;  // Cryptographic hash to be applied to all A instances
    std::string s;                   // String indicating state in object lifecycle
};
Добавлено через 5 минут
Золотые слова:
Цитата Сообщение от Psilon Посмотреть сообщение
да хватит уже спорить. Объект == экземпляр класса. Почему вас не смущает, что в языке есть 2 слова, означающих одно и то же?
Mr.X
Эксперт С++
 Аватар для Mr.X
2801 / 1577 / 247
Регистрация: 03.05.2010
Сообщений: 3,662
02.09.2015, 07:25     Разница между объектом и экземпляром класса #98
Цитата Сообщение от gru74ik Посмотреть сообщение
Не знаю, чего Вы так упёрлись.
Ну, у меня очень хорошее языковое чутье и врожденная грамотность, а также многолетний стаж чтения Страуструпа и других книг по С++.
Поэтому, исходя из своего опыта и языковых ощущений, я никогда не восприму всерьез человека, называющего объекты С++ "экземплярами". Для меня это признак языковой тупости и профессиональной несостоятельности, ибо терминология - это основа любой науки.
В общем, для некоторых вещей надо чуйку иметь. Если своей нет - ориентироваться на тех, у кого она есть. Иначе в глазах тех, у кого она есть, будете выглядеть глупо.
gru74ik
Модератор
 Аватар для gru74ik
3116 / 1342 / 167
Регистрация: 20.02.2013
Сообщений: 3,809
Записей в блоге: 17
02.09.2015, 07:46     Разница между объектом и экземпляром класса #99
Цитата Сообщение от Mr.X Посмотреть сообщение
я никогда не восприму всерьез человека, называющего объекты С++ "экземплярами"
Mr.X, Вы понимаете, что выглядите смешно? Помимо приведённых аргументов, подкину Вам ещё один: тот самый Макконнелл, которого Вы цитируете в своей подписи, в своей книге "Совершенный код" постоянно употребляет термин "instance of class".
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.09.2015, 08:43     Разница между объектом и экземпляром класса
Еще ссылки по теме:

C++ Почему при компилировании программы со вторым экземпляром класса изменяются значения первого?
C++ В чем разница между классом и шаблоном класса?
Возврат значения объектом класса C++

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

Или воспользуйтесь поиском по форуму:
Mr.X
Эксперт С++
 Аватар для Mr.X
2801 / 1577 / 247
Регистрация: 03.05.2010
Сообщений: 3,662
02.09.2015, 08:43     Разница между объектом и экземпляром класса #100
Цитата Сообщение от gru74ik Посмотреть сообщение
Вы понимаете, что выглядите смешно?
Ну, как говорит народная мудрость, смеется тот, кто смеется последним. Надеюсь, что когда-нибудь мы вместе посмеемся над вашими нынешними заблуждениями.
Цитата Сообщение от gru74ik Посмотреть сообщение
Помимо приведённых аргументов
Поймите, что не все можно доказать логически. Я ж говорю,
Цитата Сообщение от Mr.X Посмотреть сообщение
для некоторых вещей надо чуйку иметь.
Мне кажется, этот вопрос нам с IGPIGP удалось немного раскрыть в теме Проблематика машинного обучения. Естественный и искуственный интеллекты.
Скажем, невозможно логически доказать человеку, не имеющему чувства юмора, что его шутки глупы и неуместны. Или невозможно логически доказать человеку, не имеющему религиозного и нравственного чувства, что необходимо соблюдать десять заповедей. Но если тот и другой просто будут подражать окружающим, у которых есть эти чувства, то они сильно выиграют в их глазах.
А ведь в глазах этих "бесчувственных" людей, скажем, люди, обладающие религиозным чувством, тоже выглядят смешными, ибо не воруют, не мошенничают и не поедают окружающих, хотя это так выгодно и питательно.
Yandex
Объявления
02.09.2015, 08:43     Разница между объектом и экземпляром класса
Ответ Создать тему
Опции темы

Текущее время: 07:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru