Расширения языка C++
Ссылки часто используют для передачи параметров функции. Передача параметров, но ссылке аналогична передаче параметров по указателю. Однако использование ссылок более удобно, так как ссылка пишется как обычная переменная и не требует операций адресации (&) и разадресации (*). Оператор new выделяет память требуемого объема в соответствии с переданным типом данных и возвращает указатель… Читать ещё >
Расширения языка C++ (реферат, курсовая, диплом, контрольная)
В данном параграфе рассматриваются некоторые базовые отличия языка C++ от языка С.
В языке C++ появилась возможность использования ссылок. Ссылка — это псевдоним (альтернативное имя) для объекта. Использование ссылок представляет собой альтернативу использованию указателей.
Синтаксис описания ссылки:
& = ;
Например:
int tabn = 1000;
int &r = tabn;
Теперь г является псевдонимом tabn.
При объявлении ссылки обязательно должна быть выполнена ее инициализация, причем инициализирована ссылка может быть только один раз. После инициализации значении ссылки изменить нельзя, ее нельзя связать с другим объектом.
Ссылки часто используют для передачи параметров функции. Передача параметров, но ссылке аналогична передаче параметров по указателю. Однако использование ссылок более удобно, так как ссылка пишется как обычная переменная и не требует операций адресации (&) и разадресации (*).
В языке C++ появились новые средства динамического распределения памяти. К ним относятся операторы new и delete.
Оператор new выделяет память требуемого объема в соответствии с переданным типом данных и возвращает указатель на выделенную память. В качестве типа может выступать любой базовый либо пользовательский тип. Оператор new можно использовать для выделения памяти под массивы.
Оператор delete освобождает выделенную память. Специальная форма оператора delete [] для массивов объектов выполняет не только освобождение всей выделенной памяти (аналогично delete), но и уничтожение каждого объекта в массиве.
В языке C++ появилось понятие класса.
Класс — это совокупность данных различных типов и функций для их обработки с атрибутами доступа к ним. Классы являются дальнейшим развитием структур и позволяют не только хранить данные в структурированном виде, но и разместить вместе с ними функции, оперирующие с этими данными. Это позволяет разграничить доступ к данным и более понятно описывать методы работы с данными. Функции, включенные в состав класса, называются методами.
Элементами класса служат элементы-данные и элементы-функции.
Элементы-данные — это совокупность взаимосвязанных данных различных типов, объявленная в определении класса.
Элементы-функции — это функции, объявленные в определении класса и обрабатывающие элементы-данные класса.
Доступ к переменным и методам класса определяется их областью видимости. Область видимости принадлежащих классу данных и методов задается с помощью ключевых слов:
- • private (собственный);
- • protected (защищенный);
- • public (общедоступный).
Собственные {private) данные и методы доступны только внутри данного класса.
Защищенные (protected) данные и методы доступны внутри данного класса и для классов-потомков.
Общедоступные {public) данные и методы доступны в любом месте программы.
Существуют специальные элементы-функции класса (конструкторы и деструкторы), служащие для создания, копирования, преобразования и уничтожения объектов класса.
Конструктор — функция, автоматически вызываемая при создании объекта данного класса. Обычно конструкторы используют для инициализации переменных объекта, выполнения каких-либо первоначальных действий и т. д. Конструктор не имеет возвращаемого типа. Имя конструктора должно совпадать с именем класса. Класс может иметь несколько конструкторов, отличающихся набором аргументов.
Деструктор — это функция, автоматически вызываемая при уничтожении объекта. Обычно деструктор используется для выполнения каких-либо финальных действий и чистки памяти. В классе может быть только один деструктор. Деструктор не имеет возвращаемого значения и должен иметь имя видаимякласса.
В данном параграфе рассмотрена лишь очень малая часть особенностей языка C++. Для его подробного изучения следует воспользоваться специальной литературой.