Добавить в избранное   Сделать стартовой   Главная   E-mail   Форум   Мой блог 
   
Cертификации

Errors

ETL

FAQ (по темам)

GIS

Web

wiki

Администрирование

Безопасность

Книги
Oracle, ...

Новости

ОС

Программирование

Проектирование БД

Производительность

Скачать

Советы

Тестирование

Установка

FAQ - по базам данных
FAQ - по базам данных
Установка СУБД
Oracle
Sybase
MySQL
PostgreSQL
MS SQL Server
Interbase, Firebird
Другие DB
Администрирование
Oracle
MySQL
Sybase
PostgreSQL
MS SQL Server
Interbase, Firebird
IBM DB2
Другие DB
Проектирование БД
Статьи
ETL
Теория БД
ErWin
Designer 2000
PowerDesigner
Хранилища данных
CASE средства
OLAP
Бизнес - анализ (BI)
Производительность
Oracle
MSSQL
Interbase, Firebird
IBM DB2
MySQL
PostgreSQL
SYBASE
Безопасность БД
Oracle
MS SQL Server
Инъекция SQL
Программирование
Transact-SQL
PL/SQL
C++
XML
SQL
PostgreSQL
MDX
Java
VBA Excel
Книги по базам
Oracle
Заказ книг
ОС
Установка и настройка
UBUNTU
ОС
Установка и настройка
UBUNTU
FAQ
FAQ - по базам данных
Главная arrow C++ arrow Абстракция данных в языке С++

Абстракция данных в языке С++

Печать E-mail
Оглавление
Абстракция данных в языке С++
Страница 2
Страница 3
Страница 4
Страница 5
Страница 6
Страница 7
Страница 8
Страница 9
Страница 10
Страница 11
Страница 12
 

Абстракция данных в языке С++  

С++ является надмножеством языка С. Он полностью реализован и уже использовался в ряде нетривиальных проектов. В настоящее время С++ применяется в более чем сотне мест. Данная статья описывает средства абстракции данных предоставляемые языком С++.

Они включают классы
  подобные языкам Simula и обеспечивающие :
  - необязательное упрятывание информации,
  - необязательную гарантированную инициализацию структур данных,
  - необязательное неявное преобразование типов, определяемых
    пользователем, и необязательную динамическую типизацию,
  - механизм перегрузки имен функций и знаков операций,
  - механизм управления памятью, определяемого пользователем.
    Показано как могут быть реализованы новые типы данных, например
  комплексные числа, как может быть структурирован "объектно-
  ориентированный" графический пакет.
    Программа, использующая средствa абстракции данных по меньшей мере
  столь же эффективна как и эквивалентная программа не использующая их,
  компилятор же более быстрый чем старые С-компиляторы.

    



 

 

Введение

В данной статье ставится цель показать как писать программы на С++,
используя "абстракцию данных" (*2). В статье предлагается обсуждение
каждой новой особенности языкa для помощи читателю в осознании места,
занимаемого ею в общем проекте языка техники программированияб которую
она предназначена поддерживать, ошибок и издержек, избежать которых
она предназначенa помочь программисту. Однако поскольку данная статья
не является руководством она не дает полной детализации примитивов
языка; последнее может быть найдено в [3].

*1 Bjarnх Stroustrup Cand.Scient (Mathematic and Computer Scitnct) 1975
Universit. Aarch Denmark. Ph.D (Computer Science). 1979
Cambrigх University. AT&T Bell Laboratorie 1979
- иследовательские интересы включают : распределенные вычислительные
системы, моделирование, методология программирования, языки
программирования. В настоящее время является членом Computer
Scienc Researc Center, член АСМа и IEEE.
(Рукопись получена 5 августа 1983 г.)

*2 Замечание по названию С++ : ++ - знак операции инкремента в С, если
этa операция применяется к переменной (обычно к индексу массива или
указателю) значение переменной увеличивается так, чтобы указывать на
следующий элемент. Название С++ было предложен Риком Маскитти (Rici
Mascitti). С++ в дальнейшем следует рассматривать как уточняющее
название, употребляемое либо по формальному поводу, либо во
избежании двусмысленности. Среди посвященных С++ именуется С, а
язык С, описанный в [1], "старым С". Более короткое обозначение С
является синтаксической ошибкой. Оно также использовалось как
название одного, не относящегося к теме статьи, языка. Ценители
семантики С найдут, что С++ менее выразительном чем ++С, однако
последнее не является приемлемым названием. Язык не назван D, так
как является расширением С, а не попыткой решить некие проблемы
изначально присущие базовой структуре языкa С. Название С++ отражает
эволюционный характер изменений относительно старого С. Еще одну
интерпретацию названия С++.(см. [2], Приложение.)

Эволюционизируя из языка С [1] C++ прошел через несколько
промежуточных этапов известных под общим названием "С с классами"
[4,5]. Первоначальное Simula6 [6,7].
Основным намерением являлось создание возможностей абстракции при
проектировании больших систем и в то же время полезных в областях,
где очень важны лаконичность С и его способность выражать
низкоуровневые детали. В связи с этим было специально предусмотрено
чтобы использование классов С, предоставляющих общий и гибкий
механизм структурирования не приводило в сравнении со старым С
к издержкам ни по памяти ни по времени исполнения.
Зa исключением таких деталей как введение новых ключевых слов,
С++ является надмножеством языка С. см. ниже #2."Реализация и
совместимость". Язык полностью реализован и используется. Десятки
тысяч строк код написаны и отлажены десятками программистов.

Статья разделяется на три основные части :

1. Краткое представление идеи абстракции данных.

2. Полное описание возможностей, предоставляемых для реализаци этой
идеи, при помощи небольших примеров. Это описание само по себе
распадается на три секции :

a. Базовая техника для упрятывания информации ; доступ к данным,
размещения и инициализации. Классы, составляющие функции
класса, конструкторы, перегрузки имен функций представлены
начиная с #3. "Разграничение доступа к данным".

b. Механизмы и техника создания новых типов с связанными
операциями. Перегрузка знаков операций, преобразование типов,
определяемых пользователем, ссылки и операции управления
свободной памятью, представлены начиная с #8. " Перегрузка
знаков операций и преобразование типов".

c. Механизмы для создания иерархии абстракций для динамической
типизации объектов и для создания полиморфных классов и функций.
Производные классы и виртуальные функции представлены, начиная
с #14."Производные классы".

Пункты b и c не зависят непосредственно друг от друга.

3. В заключение несколько общих замечаний по технике программирова-
ния, реализации языка, эффективности, совместимости со старым С и
сравнение с другими языками, начиная с #18. "Ввод и вывод".

Несколько секций помечено словом "отступление"; они содержат
информацию хотя и важную для программиста и представляющую вероятно
интерес для широкого читателя, но не относящуюся напрямую к
абстракции данных.



 
 
Взаимосвязанные статьи
     

Последние добавленные статьи
Поиск
Ссылки
Главная
Скачать
Курсы
Роль АБД (SYSDBA)
Карта сайта
Автостекла
Контакты
Войти на сайт
Популярные статьи
Online - тесты
1Z0-042
Rambler's Top100 МЕТА - Украина. Рейтинг сайтов хостинг от freehost.com.ua

Все права защищены.SYSDBA 2010 | Если у Вас есть хороший материал пришлите его нам.