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


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

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

Настоящий класс 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 мильонов к студенческой карме :

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

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