Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> "Абстрактный" и "НЕ абстрактный" типы данных, В чём разница? 
:(
    Опции темы
KaraKum
Дата 3.1.2011, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: 1
Всего: 1



Кстати говоря, если под "абстрактными данными" понимается одна из парадигм ООП, то этот вопрос полезно рассматривать вне области С++, так как ООП это отдельная тема и ООП можно реализовать даже на языке "С" - примером может послужить библиотека GTK+.
PM MAIL WWW   Вверх
mes
Дата 3.1.2011, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(ДокторТуамОсес @  3.1.2011,  21:22 Найти цитируемый пост)
Что однако ни сколько мне не помешало сначала
сконструировать определение P, а потом, используя P как "кирпичик",
сконструировать определение P2  

только, плиз, в своей книжке об этом конструировании не пишете smile


--------------------
PM MAIL WWW   Вверх
ДокторТуамОсес
Дата 3.1.2011, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 242
Регистрация: 8.6.2009

Репутация: -4
Всего: -12



Цитата(KaraKum @  3.1.2011,  22:13 Найти цитируемый пост)
Каждое моё второе сообщение остаётся без внимания.

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


Цитата(KaraKum @  3.1.2011,  22:13 Найти цитируемый пост)
Вот на данный момент какой конкретно вопрос открыт?

Сейчас в процессе несколько нитей беседы.
Поэтому мне уже трудно все их удерживать в голове
--------------------
"Извините! А это ничего, что я говорю в тот момент, когда Вы меня перебиваете?"™ 
PM MAIL   Вверх
KaraKum
Дата 3.1.2011, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: 1
Всего: 1



Все нити в студию!  smile 
PM MAIL WWW   Вверх
ДокторТуамОсес
Дата 3.1.2011, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 242
Регистрация: 8.6.2009

Репутация: -4
Всего: -12



Цитата(mes @  3.1.2011,  22:08 Найти цитируемый пост)
typedef не определяет новый тип, а определяет синоним типа smile

Понятие синонима, псевдонима и т.п. подразумевает наличие некоторого "основного" ИМЕНИ,
по отношению к которому другие имена являются синонимами, псевдонимами и т.п.

А какое основное имя, к примеру, имеет тип, синоним которого описан ниже как P?

Код

typedef int** P[10][20] ;

А? smile

Добавлено через 1 минуту и 47 секунд
Цитата(KaraKum @ 3.1.2011,  22:08)
Цитата(ДокторТуамОсес @  3.1.2011,  23:06 Найти цитируемый пост)
Всё бы хорошо, только компилятор отказывается это "переваривать":

error: invalid conversion from `int' to `void*' 

Компилятор капризный. gcc с радостью бы "схавал". 

Как раз в GCC (Используя Dev-C++ 4.9.9.2) я и компилил  smile

Добавлено через 3 минуты и 53 секунды
Цитата(mes @ 3.1.2011,  22:16)
Цитата(ДокторТуамОсес @  3.1.2011,  21:15 Найти цитируемый пост)
R-Value - частный случай переменной. 

да, частный случай, но не переменной.. smile но уже близко smile

Понятия, являющегося аналогом/"синонимом" понятия "переменная"? 
 smile  smile  smile  smile 
 smile  smile  smile  smile

Добавлено через 5 минут и 46 секунд
Цитата(KaraKum @ 3.1.2011,  22:24)
Кстати говоря, если под "абстрактными данными" понимается одна из парадигм ООП, то этот вопрос полезно рассматривать вне области С++, так как ООП это отдельная тема и ООП можно реализовать даже на языке "С" - примером может послужить библиотека GTK+.

Я фкурсе. smile 
Также как и "абстракцию данных" можно реализовать хоть Цэ  smile

Добавлено через 9 минут и 33 секунды
Цитата(KaraKum @ 3.1.2011,  22:08)
Цитата(ДокторТуамОсес @  3.1.2011,  23:06 Найти цитируемый пост)
Всё бы хорошо, только компилятор отказывается это "переваривать":

error: invalid conversion from `int' to `void*' 

Компилятор капризный. gcc с радостью бы "схавал". Можно ублажить его, написав (void*).

Но тогда это не будет "непосредственным" присваиванием.
Увы  smile 

Так что что-то Вы опростоволосились smile 
--------------------
"Извините! А это ничего, что я говорю в тот момент, когда Вы меня перебиваете?"™ 
PM MAIL   Вверх
mes
Дата 3.1.2011, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(ДокторТуамОсес @  3.1.2011,  21:36 Найти цитируемый пост)
А какое основное имя, к примеру, имеет тип, синоним которого описан ниже как P?

 
Код

  int** x1[10][20];
   P x2;

x1 и x2 определены одним типом.. каким сами догадайтесь smile


--------------------
PM MAIL WWW   Вверх
ДокторТуамОсес
Дата 3.1.2011, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 242
Регистрация: 8.6.2009

Репутация: -4
Всего: -12



Цитата(mes @ 3.1.2011,  22:30)
Цитата(ДокторТуамОсес @  3.1.2011,  21:22 Найти цитируемый пост)
Что однако ни сколько мне не помешало сначала
сконструировать определение P, а потом, используя P как "кирпичик",
сконструировать определение P2  

только, плиз, в своей книжке об этом конструировании не пишете smile

Обязательно напишу.
Ибо это отражает моё мировоззрение
--------------------
"Извините! А это ничего, что я говорю в тот момент, когда Вы меня перебиваете?"™ 
PM MAIL   Вверх
KaraKum
Дата 3.1.2011, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: 1
Всего: 1



Цитата(ДокторТуамОсес @  3.1.2011,  23:36 Найти цитируемый пост)
Также как и "абстракцию данных" можно реализовать хоть Цэ

Так "мы", оказывается, знаем что такое "абстракция данных"  smile 
О чём тогда разговор??
PM MAIL WWW   Вверх
ДокторТуамОсес
Дата 3.1.2011, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 242
Регистрация: 8.6.2009

Репутация: -4
Всего: -12



Цитата(mes @ 3.1.2011,  22:46)
Цитата(ДокторТуамОсес @  3.1.2011,  21:36 Найти цитируемый пост)
А какое основное имя, к примеру, имеет тип, синоним которого описан ниже как P?

 
Код

  int** x1[10][20];
   P x2;

x1 и x2 определены одним типом.. каким сами догадайтесь smile

Нет.
Так никуда не годится  smile 
Я требую, что Вы назвали ИМЯ (т.е. идентификатор) типа, 
синонимом которого является имя P 
--------------------
"Извините! А это ничего, что я говорю в тот момент, когда Вы меня перебиваете?"™ 
PM MAIL   Вверх
KaraKum
Дата 3.1.2011, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: 1
Всего: 1



Цитата(ДокторТуамОсес @  3.1.2011,  23:47 Найти цитируемый пост)
это отражает моё мировоззрение 

Пока ещё никому не удавалось выразить мировоззрение посредством С++  smile 
PM MAIL WWW   Вверх
mes
Дата 3.1.2011, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(ДокторТуамОсес @  3.1.2011,  21:47 Найти цитируемый пост)
Ибо это отражает моё мировоззрение 

вот это и ужасно, что будете учить этому других smile

Добавлено через 2 минуты и 54 секунды
Цитата(ДокторТуамОсес @  3.1.2011,  21:50 Найти цитируемый пост)
Я требую, что Вы назвали ИМЯ (т.е. идентификатор) типа, 
синонимом которого является имя P  

прошу что либо взамен smile иначе я не согласен smile



--------------------
PM MAIL WWW   Вверх
ДокторТуамОсес
Дата 3.1.2011, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 242
Регистрация: 8.6.2009

Репутация: -4
Всего: -12



Цитата(KaraKum @ 3.1.2011,  22:49)
Цитата(ДокторТуамОсес @  3.1.2011,  23:36 Найти цитируемый пост)
Также как и "абстракцию данных" можно реализовать хоть Цэ

Так "мы", оказывается, знаем что такое "абстракция данных"  smile 
О чём тогда разговор??

"Я знаю только то, что ничего не знаю"(с) - один очень много знавший чел

Я знаю только вот что:

Цитата
 у некоторых авторов книг по C++ и на форумах встречал такую мысль, что, де, "абстрактный тип данных" - это любой производный (т.е. не базовый) тип, определённый программистом.

Вторые пишут, что в C++ "абстрактный тип" - это только классы.

Третии пишут, "абстрактные типы" - это списки, очереди, деревья и т.п.

Четвёртые пишут, что "абстрактный тип" - это вообще может быть любым образом
(хоть с помощью макросов) описанный тип, посредством которого реализуется концепция
"абстракции данных"


А есть ещё и 5-я, 6-я, 7-я, ... и т.д. точки зрения.

Вот я и хотел здесь выяснить/уточнить/уяснить что же всё-таки за зверь такой "абстрактный тип данных",
и что за "абстракция данных" такая, которую он поддерживает smile 
--------------------
"Извините! А это ничего, что я говорю в тот момент, когда Вы меня перебиваете?"™ 
PM MAIL   Вверх
KaraKum
Дата 3.1.2011, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: 1
Всего: 1



Цитата(ДокторТуамОсес @  3.1.2011,  23:56 Найти цитируемый пост)
Вот я и хотел здесь выяснить/уточнить/уяснить что же всё-таки за зверь такой "абстрактный тип данных",
и что за "абстракция данных" такая, которую он поддерживает

Ну так как? Выяснилось/уточнилось/уяснилось?
PM MAIL WWW   Вверх
ДокторТуамОсес
Дата 3.1.2011, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 242
Регистрация: 8.6.2009

Репутация: -4
Всего: -12



Цитата(KaraKum @ 3.1.2011,  22:51)
Цитата(ДокторТуамОсес @  3.1.2011,  23:47 Найти цитируемый пост)
это отражает моё мировоззрение 

Пока ещё никому не удавалось выразить мировоззрение посредством С++  smile

А кто-то хотел/пытался это сделать?  smile 
УЖОС  smile

Добавлено через 1 минуту и 15 секунд
Цитата(mes @ 3.1.2011,  22:52)
Цитата(ДокторТуамОсес @  3.1.2011,  21:47 Найти цитируемый пост)
Ибо это отражает моё мировоззрение 

вот это и ужасно, что будете учить этому других smile


Что одним кажется ужасным, другим - прекрасным. И наоборот.
Как говорится, "на вкус и цвет  - товарищей нет"(с) smile

Добавлено через 3 минуты и 57 секунд
Цитата(KaraKum @ 3.1.2011,  22:58)
Цитата(ДокторТуамОсес @  3.1.2011,  23:56 Найти цитируемый пост)
Вот я и хотел здесь выяснить/уточнить/уяснить что же всё-таки за зверь такой "абстрактный тип данных",
и что за "абстракция данных" такая, которую он поддерживает

Ну так как? Выяснилось/уточнилось/уяснилось?

Что-то прояснилось, а что-то ещё больше "затемнилось".  smile 
Короче я понял, что "я знаю только то, что ничего не знаю"(с) smile

Добавлено через 8 минут и 3 секунды
Цитата(mes @ 3.1.2011,  22:52)
Цитата(ДокторТуамОсес @  3.1.2011,  21:50 Найти цитируемый пост)
Я требую, что Вы назвали ИМЯ (т.е. идентификатор) типа, 
синонимом которого является имя P  

прошу что либо взамен smile иначе я не согласен smile

О'кей.
Дай вам "взамен".

Есть два описания идентификатора S:

1.
Код

struct S { char s ; };



2.
Код

typedef struct { char s ; } S;


Вопрос чем ПРИНЦИПИАЛЬНО отличаются друг от друга эти 2 идентификатора S?  smile

Добавлено через 11 минут и 4 секунды
Цитата(ДокторТуамОсес @  3.1.2011,  22:59 Найти цитируемый пост)
Вопрос чем ПРИНЦИПИАЛЬНО отличаются друг от друга эти 2 идентификатора S?  smile  

Или, если смотреть на вопрос ширше и глубже, чем отличается
синоним имени типа от имени типа?
--------------------
"Извините! А это ничего, что я говорю в тот момент, когда Вы меня перебиваете?"™ 
PM MAIL   Вверх
ДокторТуамОсес
Дата 3.1.2011, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 242
Регистрация: 8.6.2009

Репутация: -4
Всего: -12



А (возвращаясь к сабжу) викепедия вот что говорит:

Существует несколько способов определения абстрактных типов: 
  • алгебраический (используются методы алгебраических отношений) 
  • модельный (элементы данных определяются явным образом)
  • аксиоматический (используется логическая формализация)

Как способ имеет место быть в C++?  smile 
--------------------
"Извините! А это ничего, что я говорю в тот момент, когда Вы меня перебиваете?"™ 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0684 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.