- •1.Конструктор копирования
- •2.Перегрузка переопределение функц
- •3.Перегрузка бинарных операторов
- •4.Перегрузка унарных операторов
- •5.Static- и Const- компоненты класса
- •6.Организация внешн.Доступа к лок.Комп. Класса(Спецификатор friend)
- •7.Proxi-классы
- •8.Наследование простое
- •9.Множественное наследование
- •10.Виртуальные функции
- •11.Абстрактные классы
- •13.Шаблоны.Параметрезированные классы
- •12.Виртуальный деструктор
- •14.Совместное использование шаблонов и наследование
- •15.Реализация smart-указателя
- •16.Классы поддерживающие транзакцию
- •17.Преобразование типа.Явное преобразование типа
- •18.Преобразование типов определённых в программе
- •20.Строковые потоки,их свойства,назначение.
- •22.Организация файла последовательного доступа
- •24.Генерация исключений в конструкторах.Иерархия искл.В станд.Библиотеке
- •23.Организация файла произвольного доступа
- •25. Спецификации исключительных ситуаций
- •27. Исключительные ситуации.Основы обработки исключительных ситуаций
- •28. Задание собственного неожиданного обработчика
- •29. Исключительная ситуация, генерируемая оператором new
- •30. Перенаправление исключительных ситуаций
- •31.Категории итераторов.Основные итераторы
- •32. Категории итераторов.Основные итераторы
- •33.Пасивные и активные итераторы
- •34. Контейнеры последовательностей
- •35.Ассоциативные контейнеры
- •36.Адаптеры контейнеров
- •37.Патеррн (Абстрактная фабрика)
- •38.Патеррн (Строитель)
- •39. Патеррн (Адаптер)
- •40.Патеррн (Команда)
- •41.Спецификатор final в java
- •42.Вложенные и внутренние классы в java
- •43.Основы наследования в java
- •47.Абстрактные классы в java
- •44.Использование ключевого слова super в java
- •50.Интерфейсы в java
- •51.Множественное наследование в java
- •52.Конфликты имён при комбинировании интерфейсов в java
- •53.Расширение интерфейса в java
- •54. Исключительные ситуации. Обработка исключений java
17.Преобразование типа.Явное преобразование типа
В то же время, если используемая операция для типов величин, участвующих в выражении, явно не определена, то компилятор пытается выполнить такое преобразование типов в два этапа. На первом этапе выполняется попытка использовать стандартные преобразования типов. Если это невозможно, то компилятор использует преобразования, определенные пользователем. На первом этапе выполняется попытка использовать стандартные преобразования типов. Если это невозможно, то компилятор использует преобразования, определенные пользователем.
Явные преобразования типов Для преобразования с минимальным контролем можно использовать операцию staic_cast. static_cast<тип> (выражение)
Она позволяет выполнять преобразования, не проверяя типы выражений во время выполнения, а основываясь на сведениях, полученных при компиляции. Операция static_cast позволяет выполнять преобразования не только указателя на базовый класс к указателю на производный, но и наоборот. Для преобразований не связанных между собой типов используется reinterpret_cast.
18.Преобразование типов определённых в программе
В то же время, если используемая операция для типов величин, участвующих в выражении, явно не определена, то компилятор пытается выполнить такое преобразование типов в два этапа. На первом этапе выполняется попытка использовать стандартные преобразования типов. Если это невозможно, то компилятор использует преобразования, определенные пользователем.
На первом этапе выполняется попытка использовать стандартные преобразования типов. Если это невозможно, то компилятор использует преобразования, определенные пользователем.
Конструктор с одним аргументом можно явно не вызывать.
class my_class { double x,y; public:
my_class(double X){x=X; y=x/3;} double summa(); };
double my_class::summa() { return x+y; } void main()
{ double d; my_class my_obj1(15), my_obj2=my_class(15),
my_obj3=15 cout << my_obj1.summa() << endl;
cout << my_obj2.summa() << endl;
cout << my_obj3.summa() << endl; }
19.Потоки ввода\вывода.Состояние потока.Пример обработки ошибки в потоке.
В С++ ввод-вывод данных производится потоками байт. Поток (последовательность байт) – это логическое устройство, которое выдает и принимает информацию от пользователя и связано с физическими устройствами ввода-вывода. При операциях ввода байты направляются от устройства в основную память. В операциях вывода – наоборот.
cout – поток стандартного вывода;
cin – поток стандартного ввода;
Объект cout позволяет выводить информацию на стандартное устройство вывода – экран. Формат записи cout имеет следующий вид: сout << data;
data – это переменные, константы, выражения или комбинации всех трех типов.
Для ввода информации с клавиатуры используется объект cin. Формат записи cin имеет: cin>>data;
\\\
Поток в С++ это абстрактное понятие, относящееся к переносу информации от источника к приемнику. Системы ввода-вывода С и С++ основываются на понятии потока. Потоки iostream или ostream имеют связанное с ними состояние. В классе ios, базовом для классов iostream и ostream, имеется несколько public функций, позволяющих проверять и устанавливать состояние потока: inline int ios::bad() const { return state & badbit; }
inline int ios::eof() const { return state & eofbit; }
Так, если было установлено состояние ошибки, то попытка выполнить ввод/вывод будет игнорироваться до тех пор, пока не будет устранена причина ошибки и биты ошибки не будут сброшены функцией clear().