С++ - язык, который изучается постепенно. Множественные перегрузки оператора []
                   Справочники Всё для создания сайта

Ссылки


Home
Бизнес
Справочники
Советы







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

Множественные перегрузки оператора []

Оператор [] может иметь и несколько вариантов перегрузки для данного класса при условии, что сигнатуры остаются уникальными. Например, одна версия может получать аргумент типа int, а другая - аргумент char*, который преобразуется к int функцией atoi(). Скорее всего, ваша коллекция может индексироваться несколькими способами.

class StringArray {

public:

const String& operator[](int index);

int operator[](const String&);

};

String str = array[17]; // Первая форма

int index = array[String("Hello")]; // Вторая форма

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


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

Home  Создание сайтов  Учебник по записи CD  Справочник Web дизайнера Самоучитель IE PHP и MySQL Компьютерные сети С++ E-mail me

Copyright 2007. Климов Александр. All Right Reserved.
Hosted by uCoz