Являются ли int, char также абстрактным типом данных?

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

И еще кое-что:

Я хочу спросить, есть ли в ADT две части абстрактного представления (все функции, которые могут работать с ним) и представления реализации (как реализованы функции и тип данных). Тогда как я могу создать ADT в C ++ ??

Как и в Java, абстрактное представление может быть реализовано с использованием интерфейса, а представление реализации — с использованием класса.

3

Решение

Подумайте об абстракте против бетон (Термин «конкретный» здесь мой для наглядности.

Абстрактный класс не может быть создан, конкретный класс может быть создан. когда вы унаследовали от абстрактного класса и определили все абстрактные методы, теперь он конкретный.

так как вы можете создать экземпляр int это не абстрактно, а скорее конкретно

Дело не в том, что реализация скрыта, что делает ее абстрактной, а в том, что она еще не определена.

Если у вас есть абстрактный базовый класс, то некоторые функции должны быть определены его потомками. Видимость не имеет значения. Вы не можете наследовать от int это тип POD (простые старые данные)

В C ++ std::string имеет видимую реализацию, в Java, часть его скрыта (поэтому + может использоваться для объединения строк в Java)

5

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector