Ключевое слово operator используется при перегрузке операторов в классе.
Перегружаться могу операторы + - * / % ^ & | ~ ! = < > += -= *= /= %= ^= &= |= << >> >>= <<= == != <= >= <=> && || ++ -- , ->* -> ( ) [ ]
#include <iostream> // std::cout
class Vector{ // Класс Vector
int size; // Размер
int *data; // Данные
public:
Vector(int s):size(s), data(new int[s]){} // Конструктор. Заводим массив на s элементов.
int& operator [](int index){ // Перегрузка оператора [] для обращения "как к массиву". int& className::operator [](int index){ должно быть в классе
return data[index];
}
};
int main(){
int size = 3; // Размер массива класса Vector
Vector vec(size); // Конструктор объекта vec класса Vector на size элементов
vec[0] = 7; // Присваиваем значение
vec[1] = 5; // Присваиваем значение
vec[2] = 3; // Присваиваем значение
for(int i = 0; i < size; i++){ // Выводим значения
std::cout << "vec[" << i << "] = " << vec[i] << "; "; // vec[0] = 7; vec[1] = 5; vec[2] = 3;
}
}
Отзывы