![]() |
|
Модераторы: Daevaorn Страницы: (15) Все « Первая ... 2 3 [4] 5 6 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]()
|
|
| Batbko |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 17.12.2010 Репутация: нет Всего: нет |
Ну например gcc при попытке создания экземпляра абстрактного типа данных(ну если вдруг какой то псих определил незакрытый конструктор Сущность не может не иметь понятия о сущностях с которыми она работает, как минимум она должна иметь представление об их интерфейсах, а в случае компилятора просто обязана иметь информацию о том какой должна быть реализация. Это сообщение отредактировал(а) Batbko - 3.1.2011, 19:38 |
|||
|
||||
| KaraKum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
А, в этом плане абстрактные классы, конечно, существуют.
Классы с чисто виртуальными методами (функциями). Экземпляры которых нельзя создать. |
|||
|
||||
| mes |
|
||||||||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
ну так это ж Вы книжку пишете, чего мне напрягаться то а какой "синоним переменной" возвращает функция f ? :
Добавлено через 50 секунд а что с данными работают только стандартные операции ? Добавлено через 1 минуту и 44 секунды а у литерала типа нет ? Добавлено через 3 минуты и 9 секунд то есть если б его назвали бы по другому, то он сразу стал бы типом, а так нет Добавлено через 3 минуты и 47 секунд
и где ж тут конструировании типов ?! Добавлено через 5 минут и 34 секунды тогда советую почитать еще несколько раз и обдумать, в чем все таки разница Добавлено через 6 минут и 29 секунд
это к АТД никакого отношения не имеет.. Добавлено через 7 минут и 40 секунд
способ ? ссылку ? Добавлено через 8 минут и 59 секунд семантику поведения изменить может.. Добавлено через 12 минут и 53 секунды есть, если реализуется средствами языка, предназначенными для этого Это сообщение отредактировал(а) mes - 3.1.2011, 20:03 |
||||||||||
|
|||||||||||
| Batbko |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 17.12.2010 Репутация: нет Всего: нет |
||||
|
||||
| KaraKum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
||||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
абстрактные классы это в большей степени средства динамического полиморфизма, нежели поддержки концепции АТД.. т.е. для понимания и использования АТД, абстрактные классы нам не нужны Добавлено через 2 минуты и 34 секунды о стандартных но раз имеются стандартные операции, то есть как минимум и нестандартные.. а что именно зависит от Вашего вышеспрашиваемого определения.. Добавлено через 3 минуты и 9 секунд перегрузить оператор |
|||
|
||||
| KaraKum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
Стандартные операции - это те что определены сементикой языка. НЕстандартные - это перегруженные операторы. Ещё вопросы будут? |
|||
|
||||
| ДокторТуамОсес |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 242 Регистрация: 8.6.2009 Репутация: -4 Всего: -12 |
Я конечно понимаю, что "краткость - сестра таланта"(с) и прочее, но не могли бы Вы высказываться более развёрнуто что ли? А то у меня дома все телепаты в отпуске, а я по короткой обрывочной фразе зачастую не могу догадаться, что Вы, пардон, имеете в виду. --------------------
"Извините! А это ничего, что я говорю в тот момент, когда Вы меня перебиваете?"™ |
|||
|
||||
| KaraKum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
Неверно. Тип "void*" означает, дословно, "указатель на ячейку памяти, где начинаются данные произвольного (неизвестного) типа произвольной длины". В контексте "целочисленная переменная" или "вещественное число" это означает "неизвестность". Вот такие вот пироги... |
|||
|
||||
| mes |
|
||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
ну так.. а чем не угодили НЕстандартные операции при определении типа ? не говоря о функциях и операторах преобразования.. |
||||
|
|||||
| Batbko |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 17.12.2010 Репутация: нет Всего: нет |
IMHO любой полиморфизм, наряду с инкапсуляцией и, в рамка с++ наследованием, есть средства для описания АТД и тесно связаны с самим определением.
перегрузка оператора никоим образом не позволяет изменить семантику его поведения так например перегрузка бинарного оператора сложения никогда не заставит перестать сложение быть комутативным. в общем случае если не проводить параллели с ссылками с++ или какого либо друго ЯП да. |
|||
|
||||
| KaraKum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
Нету. И вообще, компьютер с абстракцией не работает. Добро пожаловать в IT. |
|||
|
||||
| ДокторТуамОсес |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 242 Регистрация: 8.6.2009 Репутация: -4 Всего: -12 |
Повторяю: вообще говоря <абстрактный тип данных> ≠ <абстрактный класс> --------------------
"Извините! А это ничего, что я говорю в тот момент, когда Вы меня перебиваете?"™ |
|||
|
||||
| mes |
|
||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
ну так, а других выводов из Вашего предложения не следовало Добавлено через 1 минуту и 22 секунды ну если смотреть на этот вопрос "глобально", то ЯП вобще то предназначены для абстракции , при том не только данных, но и действий.. Добавлено через 1 минуту и 39 секунд
Добавлено через 3 минуты и 12 секунд
ну да.. а сам компьютер со всей периферией, ей средства набора текста.. |
||||
|
|||||
| KaraKum |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
Я не совсем понимаю вопрос и думаю что он "мутно" задан потому что задавальщику этого вопроса плохо понятна суть дела. Для того чтобы разобраться в степени понимания этой сути я и показал эквивалентность "typedef" и "define" чтобы показать что ничего эфемерного в "typedef" и также показал суть сложения и деления и работы с памятью. Но эта ветвь рассуждений заглохла. Ещё некоторые "знатоки" не замечают абсолютной эквивалентности фраз и указывают на ошибки "в корне". На практике приходилось встречать код вроде
Поэтому иногда приходится не отвечать на прямо заданный вопрос, а переворачивать всё мировоззрение вверх-ногами. |
||||
|
|||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |