Форум программистов, компьютерный форум, киберфорум
Наши страницы

Перегрузка оператора [] - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Для заданного в файле текста проверить, является ли каждая его литера гласной русской буквой http://www.cyberforum.ru/cpp-beginners/thread617300.html
Для заданного в файле текста проверить, является ли каждая его литера гласной русской буквой. Результат записать в другой файл в виде соответствующей последовательности символов «0» (если не...
C++ Составить программу для вычисления биномиальных коэффициентов: Составить программу для вычисления биномиальных коэффициентов (для заданного M>=i>=j>0 вычислять {1, при m=0,n>0 или m=n>=0, все C^j по i), если С^n по... http://www.cyberforum.ru/cpp-beginners/thread617296.html
Последовательность изучения литературы по С++ C++
Я начинающий программист. Учусь по книге "С++ за 21 день". После ее прочтения планирую начать "Практикум по С++" (Е. Л. Романов) а потом "Фундаментальные алгоритмы на С++"(Седжвик Р.). Правильно ли я...
C++ Функция возвращает строку (или указатель на начало строки)
Подскажите пожалуйста. Застрял на тривиальной задачке. Никак не могу добится чтобы функция возвращала корректно строку.(правильнее наверное будет сказать указатель на начало строки). Вот код примера...
C++ Создание своих файлов http://www.cyberforum.ru/cpp-beginners/thread617287.html
Например, есть приложение, которое создает файл с определенным расширением (своим) - filename.applic И так же может его читать (в файле есть спец. команды форматирования, т.е. это не обычный...
C++ Оператор return Всем привет, мне необходимо передать полученный массив в другой файл, читала где-то, что это можно сделать при помощи оператора return, но так и не поняла как он работает. В общем как мне передать... подробнее

Показать сообщение отдельно
Schizorb
510 / 462 / 16
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
Завершенные тесты: 1

Перегрузка оператора [] - C++

01.07.2012, 13:33. Просмотров 625. Ответов 1
Метки (Все метки)

Возможно ли создать два перегруженных оператора индексации, чтобы один из них возвращал l-value, другой r-value? В этом примере в обоих случаях вызывается первый оператор, но мне нужно, чтобы при печати вызывался второй.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
 
const int size = 10;
 
class Array
{
public:
    int & operator [] (int index)
    {
        std::cout << "operator []\n";
        return arr[index];
    }
    
    int operator [] (int index) const
    {
        std::cout << "operator [] const\n";
        return arr[index];
    }
private:
    int arr[size];
};
 
int main()
{
    Array test;
 
    test[1] = 7;
     
    std::cout << test[1]; // как вызвать int []const ?
  
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.