Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Эмуляция нажатия клавиш для SDL http://www.cyberforum.ru/cpp-beginners/thread46467.html
Столкнулся с такой проблемой что на эмуляцию нажатия клавиш, SDL не реагирует. Точнее DOSBox. Пробовал 2 метода (WINAPI), оба не подходят. Походу к SDL надо особое обращение... Помогите плиз. Заранее благодарен. :)
C++ Почему не работает программа задача взята из учебника Дейтел Х. Как програмировать на С++ рис 6.1 вроде все набрал правильно но выдает ошибки вот код: #include "stdafx.h" #include <windows.h> #include <iostream> #include <iomanip> #include <conio.h> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread46447.html
C++ Игра Змейка (хвост змеи)
Немогу сообразить каким способом пришить змее хвост.Подкиньте пару идей. PS:грубо,страшно написано но я пока по другому не умею ) #include<iostream> #include<windows.h> #include<conio.h> using namespace std; const int Y = 20, X = 50; enum DIR{UP, DOWN, LEFT, RIGHT}; void main()
C++ Ряды. Рекурсия
В общем,у меня задача написать рекурсивно вычисление выражения exp(0.56*x+ln(x^2)) с помощью рядов. Нужно получить число просуммированных членов ряда,обеспечивающих вычисление исходной функции с задаваемой абсолютной или относительной степенями точности. Формула у нас такая: http://myphoto.nnov.ru/thumb/1eecf3be7183d6d6a949afdc0ca747c1.jpg. А рекурсия вот откуда берется: вычислить обязательно...
C++ Расчет кол-ва неотрицательных элементов массива http://www.cyberforum.ru/cpp-beginners/thread46362.html
надо найти кол-во не отрицательных элементов массива он выводит какое-то число далеко заходящее за номера элементов #pragma hdrstop #include <iostream.h> #include <stdlib.h> //--------------------------------------------------------------------------- #pragma argsused int snch( int**j,const int x,const int y); int main(){ int x,y;...
C++ Ввод данных. Долго оправдываться что совсем начинающий я не буду). Поставил компилятор Dev-C++, решил проверить как работает - написал программку, которая должна считывать числа и складывать - он откомпилировал, но кроме как вывести фразу "enter any number" - он ничего не делает. Ладно, ок. Ошибка в коде? - Специально перепечатал пример из справочника Шилдта, перепроверил - вдруг чего потерял. Но нет -... подробнее

Показать сообщение отдельно
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
09.08.2009, 17:52     Перегрузка []
вот правильные прототипы оператора:
C++
1
2
3
4
5
6
char &operator[](const size_t index) {
  return data[index];
}
const char &operator[](const size_t index) const {
  return data[index];
}
Цитата Сообщение от sledge Посмотреть сообщение
Как компилятор определяет когда и какой оператор[] использовать?
Есть какое-то соглашение?
C++ Primer, Fourth Edition
Providing Read and Write Access
One complication in defining the subscript operator is that we want it to do the right thing when used as either the left- or right-hand operand of an assignment. To appear on the left-hand side, it must yield an lvalue, which we can achieve by specifying the return type as a reference. As long as subscript returns a reference, it can be used on either side of an assignment.

It is also a good idea to be able to subscript const and nonconst objects. When applied to a const object, the return should be a const reference so that it is not usable as the target of an assignment.

Best Practises: Ordinarily, a class that defines subscript needs to define two versions: one that is a nonconst member and returns a reference and one that is a const member and returns a const reference.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru