С++ - язык, который изучается постепенно.Перегрузка.
создание сайта визитки
Студия Web-дизайна, создание, раскрутка сайтов интернет реклама, подача объявлений на доски, продвижение и сопровождение сайтов
Карта сайта | Зарабатывайте с нами  | Сделать заказ
Наши услуги
Справочники
Самоучитель Internet Explorer
PHP и MySQL
Компьютерные сети
Самоучитель о С++
Новости
Новости для PDA
Реклама
Студия WebKuban.Ru - Создание и поддержка сайтов, интернет магазинов Каталог сайтов Всего.RU Интернет-каталог WWW.SABRINA.RU Refo.ru - русские сайты Каталог HeadNet.Ru Интернет-магазин цифровых товаров Каталог Ресурсов Интернет
Реклама
Язык С++
По последним данным, на рынке продается по крайней мере 2 768 942 книги о С++, не говоря уже о всевозможных курсах, обучающих программах, журналах и семинарах с коктейлями.
И все же в этом изобилии наблюдается удручающее однообразие.
Добро пожаловать на сайт студии Web-дизайна "САР"


Материалы книги получены с http://www.itlibitum.ru/

Перегрузка

В C++ существует несколько способов многократного использования имен функций. В частности, пространства имен функций формируются на основе классов. Одноименные функции в классах, не связанных друг с другом, выполняют совершенно разные задачи. Перегрузка функций развивает великую традицию разделения пространств имен функций и позволяет многократно использовать имена функций в границах одной области действия.

Аргументы

Две функции с одинаковыми именами считаются разными, если они отличаются по количеству, порядку или типу аргументов.

void Fn();

29

void Fn(int);

void Fn(long); // Можно, если типы long и int отличаются размером

int Fn(int); // Нельзя - отличается только тип возвращаемого значения

int Fn(char*); // Можно, отличаются аргументы

void Fn(int, char*);

void Fn(char*, int); // Можно, аргументы следуют в другом порядке

void Fn(char* s, int x, int y = 17); // Можно - три аргумента вместо двух

Fn("hello", 17); // Ошибка - совпадают две сигнатуры

Пока аргументы отличаются, компилятор не жалуется на изменение возвращаемого типа.

Инициализация по умолчанию (такая как у=17) может присутствовать при объявлении функции, хотя позднее она может стать причиной неоднозначности при вызове функции (как в последней строке примера).

Константные функции

Константная функция, аргументы которой совпадают с аргументами неконстантной функции, тем не менее считается другой функцией. Компилятор вызывает константную или неконстантную версию в зависимости от типа переменной, указывающей или ссылающейся на объект.

class Foo {

public:

void Fn();

void Fn() const; // Другая функция!

};

Foo* f = new Foo;

f->Fn(); // Вызывается неконстантная версия

const Foo* f1 = f;

f1->Fn(); // Вызывается константная версия


Назад    Содержание    Далее    



Специальное предложение


Сайт визитка за 90 $
создание, разработка сайта
  • Регистрация доменного имени в зоне .net.ru или .pp.ru (1 год)
  • Хостинг (1 год)
  • Готовый дизайн
  • Поддержка РНР
  • 3 страницы сайта (главная, о фирме, контакты)
  • Регистрация в 256 поисковых системах и каталогах
  • Форма сообщений
заказать создание сайта визитки
Размещение объявлений
Недорого предлагаем разослать ваше рекламное предложение о товарах или услугах на сотни досок объявлений по всему Рунету.
размещение объявлений на электронных досках
Друзья сайта
  • Реклама - каталог ресурсов Реклама - каталог ресурсов - Реклама Карта сайта
  • Просто добавь свой сайт
  • Ипотека, коммерческая и загородная недвижимость, продажа квартир и коттеджей
  • Выставки, выставки России, Выставки Москвы, зарубежные выставки
  • Music singer R&B song
  • Язык С++
    Просматривать полку книг о С++ в книжном магазине ничуть не интереснее, чем литературу по бухгалтерии. В сущности, все книги пересказывают одно и то же и отличаются разве что по весу и количеству цветов в диаграммах и таблицах.
    Copyright студия Web-дизайна САР © 2007
    Используются технологии uCoz