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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Ввести с клавиатуры n произвольных целых чисел и вычислить сумму положительных четных из них http://www.cyberforum.ru/cpp-beginners/thread798894.html
задача не проблема, но, как это реализовать без массива?
C++ Как генерировать случайные числа? Как в с++ с генерировать, например положительные числа от 0 до 10? знаю, что есть генератор rand в библиотеке stdlib.h, но не знаю, как он работает и как вообще им пользоваться. http://www.cyberforum.ru/cpp-beginners/thread798889.html
C++ Не получается определить friend за приделами шаблона
Есть шаблон класса: template <typename V> class Vector; и есть "друг": friend std::ostream& operator<<(std::ostream& lhs, const Vector& rhs); Если объявить и определить в самом теле шаблона, то всё ОК, а вот за пределами компилятор выдаёт ошибки. Подскажите как правильно нужно определять "друзей" за пределами шаблона. Спасибо. Сори за безграмотность :)
BigInt to int C++
как перевести BigInt в int ? например int e=0; BigInteger bigE = new BigInteger(String.valueOf(e)); int res; и теперь нужно bigE записать в res
C++ Как составить программу к следующей задаче http://www.cyberforum.ru/cpp-beginners/thread798853.html
Надо написать прогр. к задаче про паркетчик. Паркетчик должен класть паркет на пуст. место в помещении, по опред. алгоритму, и при этом обходя припятствия(т.е. не врезаясь в стену) Помещение и припятствия(стены) задается массивом, из 0 и 1 соотв.. Место нахождения паркетчика зададим, например, цифрой 5. а место уклад. паркета будем обозн. буквой-п. Например, входной массив таков: 1 1 1 1 1 1 1...
C++ код Тритемиуса помогите написать код Тритемиуса //Программа шифрования/дешифрования символов латиницы #include <iostream> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> #include <fstream> подробнее

Показать сообщение отдельно
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6159 / 2888 / 282
Регистрация: 04.12.2011
Сообщений: 7,686
Записей в блоге: 3
03.09.2015, 10:38     Разница между объектом и экземпляром класса
Цитата Сообщение от Cdelphi78 Посмотреть сообщение
ввОТ.
Красиво нарисовали. Вспомнилась фраза милиционера, обращённая к управдомше из к/ф "Бриллиантовая рука":-"Вы это хорошо прикрепили?".
это читать не надо!
Что тут добавить? Экземпляр класса и объект, это одно и то же. Слабость в том, что класс, это тип и экземпляром класса, как типа, можно назвать инстанс, получаемый при инстанциации шаблона класса. Добавочные аргументы в пользу того, что ссылка не объект, но тоже какой-то экземпляр чего-то, притянуты за уши. Ссылка не объект, но и не экземпляр класса и поэтому не при чём. Первого аргумента хватало бы. Но есть широкая практика называть объект класса экземпляром класса. В языке, например символ амперсанд в зависимости от положения может быть операцией взятия адреса, частью операции сравнения (логическим "и") и побитовым "и". Декоратором ссылки ещё может быть. И что? Смотрим и разбираем в каком контексте употреблён символ.
А попытки вырастить экземпляр из метода это зря. Даже из объекта не нужно. Во избежание, хотя бы, взаимо-рекурсии определений. Ведь это хорошая заявка на то чтобы получить: обект экземпляра обекта экземпляра. Хотя тут можно бы пойти на любые жертвы если понять зачем.
Вообще, путаница возникает и из-за ссылок, в частности. У Б. Страуструпа можно прочесть, что переменная, это именованный объект. Из этого, "на пальцах" (пояснение для снобов), можно бы определить, что объект, это безымянная переменная. Такие объекты встречаются при преобразовании типа, например. Иногда их называют анонимными, что по сути являет собой масло масляное в контексте определения Страуструпа. Ведь по определению объект, это то что не имеет имени и анонимность это его неотъемлемое свойство. Переменная образуется связыванием имени и объекта, при чём объявление имени может быть отдельным утверждением. С ссылкой не может, кстати.
Ссылка, это псевдоним. Оно не образует переменной. Если бы было где-то сказано (официально), что это альтернативное имя, то вопрос бы был исчерпан. Стало бы ясно что ссылка в языке это не тип, а её объявление - декларация нового имени для связи с уже созданным объектом). Это было бы хорошо, ведь язык и не позволяет создавать ссылки заблаговременно. Объявлять ссылки можно только инициализируя их объектами в одном утверждении. Однако ссылка считается типом, хотя объекта не образует. И это очень серьезное логическое противоречие. Как тип она не возвращает нормального размера и вообще ведёт себя странно. Более того, если ссылка на именованную переменную добавляет ещё одно имя, то константная ссылка инициализированная литералом является единственным именем. Именем безымянной переменной-константы(!). Она объект или экземпляр? Это вопрос соглашения. Всё было бы просто если бы сказали, что ссылка это имя. Оно может быть первым, вторым, десятым, но оно ссылается на объект не имея собственного типа, то есть не является самостоятельным типом, это сняло бы вопрос.
Всё бред. Это для желающих покритиковать по форме. По содержанию и при желании понять, - другое дело.
 
Текущее время: 16:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru