Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 87, средняя оценка - 4.85
The_bolT
70 / 70 / 1
Регистрация: 22.01.2013
Сообщений: 231
#1

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

02.03.2013, 21:34. Просмотров 14673. Ответов 142
Метки нет (Все метки)

Можете объяснить какая между этими понятиями разница?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2013, 21:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разница между объектом и экземпляром класса (C++):

Какая разница между eof и просто объектом? - C++
То есть предположим открыли файл и объект input подставили в условие while и внутри считываем строки с файла с помощью getline. Так вот...

В чем разница между классом и шаблоном класса? - C++
Помогите ответить. В чем разница между классом и шаблоном класса?

Ошибка при работе с объектом класса в конструкторе другого класса - C++
Имеется данный код: https://github.com/ubelian/glgame/tree/master/glgame В файле Food.cpp в конструкторе класса Food::Food() на 19...

Создание объекта класса с полем являющимся объектом другого класса - C++
Bill a; cin>>a;//тут я ввел с помощью перегруженного оператора ElementSpiska c; //поля у Spiska(Bill A,int,string,int) ...

Вызов объектом базового класса функцию из производного класса! - C++
Как можно осуществить вызов или передачу значения в базовый класс для дальнейшего вычисления этого значения в производном классе. Вот...

Почему при компилировании программы со вторым экземпляром класса изменяются значения первого? - C++
Здравствуйте. Вопрос: почему при компилировании программы со вторым экземпляром класса изменяются значения первого? namespace SALES { ...

142
Cdelphi78
129 / 63 / 12
Регистрация: 21.02.2014
Сообщений: 2,525
01.09.2015, 22:20 #91
Цитата Сообщение от hoggy Посмотреть сообщение
то в каноничном ооп, объект - это экземпляр класса
а экземпляр класса?
0
hoggy
6697 / 2879 / 494
Регистрация: 15.11.2014
Сообщений: 6,478
Завершенные тесты: 1
01.09.2015, 22:22 #92
Цитата Сообщение от AncientPenguin Посмотреть сообщение
Тут написано что функция и ссылка не объекты, следовательно и не экземпляры...
ага.

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

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


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

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

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

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

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

Цитата Сообщение от hoggy Посмотреть сообщение
почему она оффициально не является объектом - не понятно.
Мне тоже.
0
Cdelphi78
129 / 63 / 12
Регистрация: 21.02.2014
Сообщений: 2,525
01.09.2015, 22:33 #94
Цитата Сообщение от hoggy Посмотреть сообщение
сущность наделенная свойствами и умениями.
Ага, то есть сначала идет экземпляр класса(от внутреннего к внешнему) потом идет объект класса, а за ним уже сам класс и наооборот.
0
Mr.X
Эксперт С++
3051 / 1696 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
01.09.2015, 23:51 #95
Цитата Сообщение от Cdelphi78 Посмотреть сообщение
Ага, то есть сначала идет экземпляр класса(от внутреннего к внешнему) потом идет объект класса, а за ним уже сам класс и наооборот.
Блин, совсем запудрили мозги человеку. Эта тема такая же опасная, как и указатели. У на вид серьезных и даже опытных товарищей (не говоря уже о новичках) внезапно начинает ехать крыша, и они начинают бредить и долго и нудно нести ахинею с троллями, которые сползаются в эти темы в невиданном количестве.
Так что новичкам с неустойчивой психикой в эти темы лучше не заходить.
0
Cdelphi78
129 / 63 / 12
Регистрация: 21.02.2014
Сообщений: 2,525
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.
Ну то есть экземпляр является реализацией объекта но формально, чисто формально это синонимы, это как?
0
gru74ik
Модератор
Эксперт CЭксперт С++
4196 / 1844 / 198
Регистрация: 20.02.2013
Сообщений: 4,991
Записей в блоге: 22
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 слова, означающих одно и то же?
0
Mr.X
Эксперт С++
3051 / 1696 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
02.09.2015, 07:25 #98
Цитата Сообщение от gru74ik Посмотреть сообщение
Не знаю, чего Вы так упёрлись.
Ну, у меня очень хорошее языковое чутье и врожденная грамотность, а также многолетний стаж чтения Страуструпа и других книг по С++.
Поэтому, исходя из своего опыта и языковых ощущений, я никогда не восприму всерьез человека, называющего объекты С++ "экземплярами". Для меня это признак языковой тупости и профессиональной несостоятельности, ибо терминология - это основа любой науки.
В общем, для некоторых вещей надо чуйку иметь. Если своей нет - ориентироваться на тех, у кого она есть. Иначе в глазах тех, у кого она есть, будете выглядеть глупо.
0
gru74ik
Модератор
Эксперт CЭксперт С++
4196 / 1844 / 198
Регистрация: 20.02.2013
Сообщений: 4,991
Записей в блоге: 22
02.09.2015, 07:46 #99
Цитата Сообщение от Mr.X Посмотреть сообщение
я никогда не восприму всерьез человека, называющего объекты С++ "экземплярами"
Mr.X, Вы понимаете, что выглядите смешно? Помимо приведённых аргументов, подкину Вам ещё один: тот самый Макконнелл, которого Вы цитируете в своей подписи, в своей книге "Совершенный код" постоянно употребляет термин "instance of class".
2
Mr.X
Эксперт С++
3051 / 1696 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
02.09.2015, 08:43 #100
Цитата Сообщение от gru74ik Посмотреть сообщение
Вы понимаете, что выглядите смешно?
Ну, как говорит народная мудрость, смеется тот, кто смеется последним. Надеюсь, что когда-нибудь мы вместе посмеемся над вашими нынешними заблуждениями.
Цитата Сообщение от gru74ik Посмотреть сообщение
Помимо приведённых аргументов
Поймите, что не все можно доказать логически. Я ж говорю,
Цитата Сообщение от Mr.X Посмотреть сообщение
для некоторых вещей надо чуйку иметь.
Мне кажется, этот вопрос нам с IGPIGP удалось немного раскрыть в теме Проблематика машинного обучения. Естественный и искуственный интеллекты.
Скажем, невозможно логически доказать человеку, не имеющему чувства юмора, что его шутки глупы и неуместны. Или невозможно логически доказать человеку, не имеющему религиозного и нравственного чувства, что необходимо соблюдать десять заповедей. Но если тот и другой просто будут подражать окружающим, у которых есть эти чувства, то они сильно выиграют в их глазах.
А ведь в глазах этих "бесчувственных" людей, скажем, люди, обладающие религиозным чувством, тоже выглядят смешными, ибо не воруют, не мошенничают и не поедают окружающих, хотя это так выгодно и питательно.
0
gru74ik
Модератор
Эксперт CЭксперт С++
4196 / 1844 / 198
Регистрация: 20.02.2013
Сообщений: 4,991
Записей в блоге: 22
02.09.2015, 11:32 #101
Отписался от темы.
1
Cdelphi78
129 / 63 / 12
Регистрация: 21.02.2014
Сообщений: 2,525
02.09.2015, 13:30 #102
Ну вопрос, то остается открытым)
0
castaway
Эксперт С++
4915 / 3023 / 370
Регистрация: 10.11.2010
Сообщений: 11,080
Записей в блоге: 10
Завершенные тесты: 1
02.09.2015, 13:35 #103
Цитата Сообщение от Cdelphi78 Посмотреть сообщение
Ну вопрос, то остается открытым)
Для кого?
0
hoggy
6697 / 2879 / 494
Регистрация: 15.11.2014
Сообщений: 6,478
Завершенные тесты: 1
02.09.2015, 20:39 #104
Цитата Сообщение от AncientPenguin Посмотреть сообщение
Это описание, а надо слово которое указывает на конкретную функцию
у функции есть имя.
Цитата Сообщение от Cdelphi78 Посмотреть сообщение
Ага, то есть сначала идет экземпляр класса(от внутреннего к внешнему) потом идет объект класса, а за ним уже сам класс и наооборот.
не понял этот поток сознания.
0
IGPIGP
02.09.2015, 22:08     Разница между объектом и экземпляром класса
  #105

Не по теме:

Цитата Сообщение от Mr.X Посмотреть сообщение
Мне кажется, этот вопрос нам с IGPIGP удалось немного раскрыть в теме Проблематика машинного обучения. Естественный и искуственный интеллекты.
Скажем, невозможно логически доказать человеку, не имеющему чувства юмора, что его шутки глупы и неуместны. Или невозможно логически доказать человеку, не имеющему религиозного и нравственного чувства, что необходимо соблюдать десять заповедей. Но если тот и другой просто будут подражать окружающим, у которых есть эти чувства, то они сильно выиграют в их глазах.
Снобизм и злопамятность? А ссылка хороша, кстати.
Что касается инстациации и получения инстанса обобщённого типа, который конечно объектом не является, то это не повод считать что экзкемпляр класса и объект это не одно и то же. Да, есть слова instance и object, но есть и контекст в котором они употребляются. Почему профессионал контекстно сильного языка исключает контекст из языка которым говорит. Что касается чуйки которую нельзя доказать логически (!), то это шаманство. В сочетании со снобизмом вещь взрывоопасная.
Mr.X, впредь я не буду вступать с Вами в полемику. Надеюсь и Вы меня забудете.
Что касается темы, то мне представляется, что ей самое место в холиваре. Обидно, если кто-то из недоброжелателей скажет что-то вроде: -"Вы только гляньте, что обсуждают участники этого форума в десятистраничных топиках!". Последнее суждение -моё имхо, без желания кого либо задеть. Просто объясняю почему не буду долго обсуждать этот вопрос.

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.09.2015, 22:08
Привет! Вот еще темы с ответами:

Возврат значения объектом класса - C++
Может ли экземпляр класса возвращать значение своего поля без обращения к полю напрямую например class MyClass { int val = 5;...

Действие над объектом класса выполняет: - C++
Кому не сложно, помогите с тестом :)

Задача на строки, с объектом класса string - C++
Дано осмысленное текстовое сообщение, разделенное пробелами и знаками препинания, в конце ставится точка. Поменять слова в сообщении по...

Конструктор с параметром-объектом того же класса - C++
Была поставлена задача: определить конструктор с параметром-объектом того же класса, но я совсем не понимаю, что от меня требуется?...


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

Или воспользуйтесь поиском по форуму:
105
02.09.2015, 22:08
Ответ Создать тему
Опции темы

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