Отправляет email-рассылки с помощью сервиса Sendsay

Уроки по C/C++

  Все выпуски  

Уроки по C/C++


Уроки по C/C++. Рассылки сайта progs.biz
Рассылка № 39
 
Начало > C++ > Основы C++ > Урок 39

Грег Снук. Создание 3D-ландшафтов в реальном времени с использованием C++ и DirectX 9.
Грег Снук. Создание 3D-ландшафтов в реальном времени с использованием C++ и DirectX 9
Заказать на Озоне

Подробнее


Полные версии уроков (с картинками): урок 39.

C/C++
Урок 39. Перегрузка оператора []

На этом занятии мы с вами посмотрим, как можно перегрузить оператор [] для некоторого класса. В этом случае вы сможете использовать экземпляр класса как массив - т. е. просто писать после имени экземпляра квадратные скобки с целочисленным индексом.

Вот пример кода:

#include <iostream.h>
// Класс с пеергруженным оператором [].
class CMyClass{
    int m_arr[4];
public:
    // Перегрузка оператора [].
    int &operator [](int index){
        return m_arr[index];
    }
};
void main(){
    CMyClass w;
    w[0] = 22;
    w[1] = -2;
    cout<<w[0]<<"\n";
    cout<<w[1]<<"\n";
}

После перегрузки мы используем наш класс как массив:

...
w[0] = 22;
 ...

Так же обратите внимание, что тип перегруженного оператора - это ссылка (т. е. мы используем знак амперсанда):

int & operator []....

Выведет указанная программа естественно 22 и -2.

Рассылки сайта progs.biz
Visual C++, MFC
C# и .NET
VB.NET
ASP.NET
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


PARKING.RU. Качественный ВИРТУАЛЬНЫЙ ХОСТИНГ на платформе Windows(r): поддержка NET, многофункциональная панель управления, аренда бизнес-приложений, сертифицированные специалисты. Управляемый ВЫДЕЛЕННЫЙ ХОСТИНГ на платформе Windows(r): производительные серверы, профессиональная поддержка, аренда ПО Microsoft(r), безопасность, гарантии. http://www.parking.ru


Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2006 сайт progs.biz
© 2002-2006 Игорь Алексеев

В избранное