operator C++ перегрузка операторов в классе

Ключевое слово 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;
    }
}
2023-10-22



Понравилась страница?
Добавить в закладки
Или поделиться!

Связанные темы

not оператор С++ альтернативный "Логическое Не" !
not_eq оператор С++ альтернативный "НЕ РАВНО" !=
operator C++ перегрузка операторов в классе
or альтернативное наименование оператора || (Логическое ИЛИ)
or_eq альтернативное наименование оператора |= (Побитовое ИЛИ)
reinterpret_cast С++ оператор приведения типов
sizeof С++ оператор возвращающий размер переменной или типа данных в байтах
static_assert С++, С++ проверка ошибок на этапе компиляции
static_cast С++ оператор приведения типов
xor C++ оператор альтернативный ^ (побитовому исключающему ИЛИ)
xor_eq C++ альтернатива оператору ^= (Исключающее ИЛИ равно)