Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Schizorb
511 / 463 / 81
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
Завершенные тесты: 1
1

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

01.07.2012, 13:33. Просмотров 691. Ответов 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
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2012, 13:33
Ответы с готовыми решениями:

Перегрузка оператора
#include &lt;iostream&gt; class Node { public: char *s; int length; Node * next; public:...

Перегрузка оператора +
Всем привет, проблема на этот раз такая. Для того, чтобы выучить классы, я пишу некое подобие...

Перегрузка оператора ==
Я уже встречала подобный вопрос на этом форуме, но у меня всё равно что-то не получается Вот...

Перегрузка оператора[]
Пример взят из книги Лафоре, тема перегрузка операций. Выдает ошибки: 1.Требуется идентификатор....

Перегрузка оператора ++
Что делает оператор ++ при его перегрузке?

1
Toshkarik
1170 / 883 / 94
Регистрация: 03.08.2011
Сообщений: 2,450
Завершенные тесты: 1
01.07.2012, 13:47 2
Const функции вызываются только если нет других не-const перегруженных функций, или если объект объявлен как const.
1
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2012, 13:47

Перегрузка оператора
Помогите доделать задание... Это в классе метод, осуществляющий ввод значений полей класса с...

Перегрузка оператора +=
У меня имеется структура и метод, который вызывается след образом: A.plus_and_minus(B); Есть...

Перегрузка оператора '='
Не давно стал изучать С++ и дошёл до перегрузок операторов, и с книги написал пример, и не могу в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.