- •Лекция: шаблоны функций
- •Унарные операции получения адреса ссылки
- •Взаимосвязь между указателями и массивами
- •Указатели на указатели
- •Конструктор и деструктор класса
- •Структуры
- •Доступ к элементам структуры
- •Область действия класса
- •Поразрядные операции
- •Присваивание побитовым копированием по умолчанию.
- •Дружественные классы.
- •Потоки ввода и вывода
- •Форматирование данных
Присваивание побитовым копированием по умолчанию.
Для присваивания объекта др объекту того же типа =. Такое присваивание обыч выполн с помощью побитового копир.: кажд элемент объекта копируется индивидуально в такой же эл другого объекта (Замечание: побитовое копирование может вызвать серьёз проблемы когда применяется к классу, чьи данные-эл исп динамич распр памяти). Объекты могут передаваться, как аргументы ф-ции и могут возвращаться из ф-ции. такие передачи и возвращ выполн по умолчанию вызова по значению, т.е. передаётся и возвращ копия объекта.
Дружественные классы.
Дружественные ф-ции класса определяются вне области действия конкретного класса, но имеет право доступа к закрытым элементам Зкшмфеу. Ф-ции или класс в целом могут быть объявлены другом другому классу. Дружественные ф-ции используются для повышения производительности. Чтобы объявить ф-цию как друга класса перед её прототипом в описании класса ставится ключевое слово friend. Спецификаторы доступа к элементам private protected & public не имеют отношения к объявлению дружественности, так что эти объявления можно помещать в любом месте описания класса. Дружественность треб разрешения, то есть, чтобы класс б стал другом класса а, класс а должен объявить, что класс б его друг. Дружественность не обладает св-вами транзитивности и симметричности.
Потоки ввода и вывода
Класс ios содержит общие поля для ввода и вывода и методы.
Istream –Для входных потоков
ostream – для выходных потоков
iostream – для двунаправленных потоков
istringstream, ostringtream, stringstream – строковые потоки
fstream – файловые потоки
cerr – небуферизированый вывод
clog - буферизированый вывод
Форматирование данных
flag пишется в cout е
Пример:
cout.setf(ios::flag)
cout.setf(ios::flag1 | ios::flag2 | ios::flag3)
ios::uppercase – верхний регистр
системы счисления (ios::dec; oct, hex, showbase )