|
Программирование >> Расширенная версия языка c++
retur ttis; возвращение присваиваемого объекта class ad: public coord { int quadrant; public: quadf) { x = 0; у = 0; quadrant = 0} ad(int x; in Mord{x, y) I if (X>=0 y>=0) quadrant = 1; else if(x<0 &S y>=0) quadrant = 2 ; els US: y<0) quadrant = 3; else quadrant void showqO { cou Точка в квадранте adrant \n; quad ad quad:;operator-(coord оЬ2) { cou Использование функции operator={)\n ; x = ob2,x; у = оЬ2 . у; quadrant = 1; else if(x<0 US y>=0) quadrant = 2 ; els <0 SS y<0) quadrant - 3; else quadrant = 4; return adO, 10), o2(15, 3), o3; int x, y; o3 = ol o2; сложение двух объектов ВЫЗОВ функции operator+O o3.get xy(x, у); оЗ.showq(); cou< (ol + o2) , у \n ; cout Использование функции operator ()\п ; ., . х = оЬ2,х; .. , у = оЬ2 . у; 238 СамоучитвльС-1-+ оЗ = ol - о2; вычитание двух объектов o3.get xy(x, у); oS.showqO ; cou< (ol - о2) х , у \п ; оЗ = ol; присваивание объектов o3.get xy(x, у); .а.- iv o3.Showq(); cou< (оЗ = ol) , у \n ; return 0; . 4. Переработайте программу из вопроса 3 так, чтобы в ней использовались дружественные оператор-функции. Глава8 Введение в систему ввода/вывода C++ Начиная с первой главы этой книги, создавая свои программы, мы пользовались стилем ввода/вывода C++. Теперь настало время изучить его более подробно. Как и в языке С, в C++ имеется развитая, гибкая и достаточно полная система ввода/вывода. Важно понимать, что в C++ по-прежнему поддерживается вся система ввода/вывода С. Кроме этого в C++ включен дополнительный набор объектно-ориентированных подпрограмм ввода/вывода. Главным преимуществом системы ввода/вывода C++ является то, что она может перегружаться для создаваемхх вами классов. Это отличие позволяет легко встраивать в систему ввода/вывода C++ новые создаваемые вами типы данных. Как и в С, в системе объектно-ориентированного ввода/вывода С++ имеется незначительная разница между консольным и файловым вводом/выводом. На самом деле, консольный и файловый ввод/вывод - это просто разный взгляд на один и тот же механизм. В этой главе в примерах используется ввод/вывод на консоль (в данном случае на экран монитора), но представленная информация вполне применима и дж ввода/вывода в файл (ввод/вывод в файл более детально исследуется в главе 9). К моменту написания этой книги использовались две версии библиотеки ввода/вывода C++: старая, основанная на изначальной спецификации C++, и новая, определенная единым международным стандартом Standard C++. С точки зрения программиста для решения подавляющего большинства задач обе эти библиотеки идентичны. Так происходит потому, что новая библиотека ввода/вывода - это по существу просто обновленная и усовершенствованная версия старой библиотеки. Фактически, почти все отличия двух версий скрыты от вас, поскольку касаются не способа использования библиотек, а способа их реализации. Для программиста главное отличие заключается в том, что новая библиотека ввода/вывода C++ имеет несколько дополнительных возможностей и определяет несколько новых типов данных. Таким образом, новая библиотека ввода/вывода - это по существу просто несколько улучшенная старая. Почти все уже написанные для старой библиотеки программы при использовании новой будут компилироваться без каких бы то ни было существенных изменений. Поскольку прежняя библиотека ввода/вывода ныне считается устаревшей, данная книга описывает только
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |