Реферат по предмету "Программирование"


Перегрузка операций

Перегрузка операций

Настоящий класс ostream определяет операцию

Чтобы определить @, где @ - некоторая операция языка C++,
для каждого определяемого пользователем типа вы определяете функцию с именем
operator@, которая получает параметры соответствующего типа. Например:

class ostream {

  //...

  ostream
operator

};

ostream ostream::operator

{

  while (*p)
buf.sputc(*p++);

  return *this;

}

определяет операцию

а если применить операцию взятия адреса, то вы получите
адрес объекта, на который ссылается ссылка:

&s1 == &my_out

Первая очевидная польза от ссылок состоит в том, чтобы
обеспечить передачу адреса объекта, а не самого объекта, в функцию вывода (в
некоторых языках это называется передачей параметра по ссылке):

ostream& operator

  return s


}

Достаточно интересно, что тело функции осталось без
изменений, но если вы будете осуществлять присваивание s, то будете
воздействовать на сам объект, а не на его копию. В данном случае то, что
возвращается ссылка, также повышает эффективность, поскольку очевидный способ
реализации ссылки - это указатель, а передача указателя гораздо дешевле, чем
передача большой структуры данных.

Ссылки также существенны для определения потока ввода,
поскольку операция ввода получает в качестве операнда переменную для
считывания. Если бы ссылки не использовались, то пользователь должен был бы
явно передавать указатели в функции ввода.

class istream {

  //...

  int state;

public:

  istream&
operator>>(char≈);

  istream&
operator>>(char*);

  istream&
operator>>(int&);

  istream&
operator>>(long&);

  //...

};

Заметьте, что для чтения long и int используются разные
функции, тогда как для их печати требовалась только одна. Это вполне обычно, и
причина в том, что int может быть преобразовано в long по стандартным правилам
неявного преобразования, избавляя таким образом программиста от беспокойства по
поводу написания обеих функций ввода.
Список литературы

Для подготовки данной работы были использованы материалы
с сайта http://www.realcoding.net


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Програмне забезпечення фінансово-економічних установ
Реферат Программа маркетинговых коммуникаций
Реферат Застосування акредитиву в мiжнародних формах розрахункiв
Реферат Corporate Development During The Essay Research Paper
Реферат Образный анализ ритма ЭКГ
Реферат 1 марта – срок уплаты транспортного налога физическими лицами за 2007 год
Реферат Особенности регулирования труда отдельных категорий работников 2
Реферат Traditions & Customs of Great Britain
Реферат Прошлое, настоящее, и будущее в пьесе А.П. Чехова "Вишневый сад"
Реферат События в Вильнюсе 1991
Реферат Задачи и методы психологического обследования. Миннесотский Многофакторный Личностный Опросник
Реферат Особенности функционирования финансов индивидуальных предпринимателей
Реферат Русская литературно-критическая и философская мысль второй половины XIX века
Реферат Реалии и перспективы развития регионального туризма в Российской Федерации
Реферат Общие принципы гражданского процессуального права