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

Одновременная реализация константного и неконстантного оператора [] в классе string - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как скомпилировать исходник Gromacs на Windows http://www.cyberforum.ru/cpp-beginners/thread50640.html
Приветствую участников форума! :) Я здесь новичек, поэтому прошу строго не судить. Суть моей проблемы заключается в том что я не знаю с чего начать компиляцию исходника программы Gromacs (на...
C++ Помогите написать класс Прива всем. Помогите написать лабу!!!! Тема:Классы Задание: Создать класс который содержит два поля типа int и два поля действительного типа. Описать инткрфейс который должен содержать: 1)... http://www.cyberforum.ru/cpp-beginners/thread50630.html
C++ Генератор случайных чисел random()
Здраствуйте! Подскажите, пожалуйста, как сделать вывод случайных чисел в этой программе: #include <iostream> using namespace std; float massive; int main() {
C++ Подскажите пожалуйста!!!
Написал код на dev-c++ и на коде написал по русски например: "Введите число: " потом компилировал ошибок не было, но там по русски "Введите число: " не вышло что-то неразборчивое!!!!! Может кто знает...
C++ Вывести на экран элементы вещественного массива http://www.cyberforum.ru/cpp-beginners/thread50596.html
Вывести на экран элементы вещественного массива Y и их порядковые номера, при соблюдении следующего условия 0< i <1.(Под i подразумевается какой-либо элемент массива.)
C++ Операторы ввода/вывода для чайников Как думаете если использовать оператор ввода или вывода cout или cin это не покажется что человек чайник??? И еще вы обычно какими операторами ввода и выода пользуетесь??? подробнее

Показать сообщение отдельно
dead_santa
0 / 0 / 0
Регистрация: 12.09.2009
Сообщений: 5
13.09.2009, 10:39  [ТС]
Смотрел... Возникает вопросы то ли лыжи не едут, то ли я....
Вот как в MSDN реализовано:
C++
1
2
3
4
5
6
reference operator[](
   size_type _Pos
);
const_reference operator[](
   size_type _Pos
) const;
Вот как у меня:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
const char& operator [](int index) const{
        if((index<0)||(index>length())){
            printf("Neverni indeks (indeks=%d)\n", index);
            return data[0];//Что возвращать? Хотел EOF, не даёт... Ну, думаю, и так можно оставить, просто не знаю, что программисты в таких случаях возвращают :)
        }
        else
            return data[index];
    }
    char& operator []( int index){
        if((index<0)||(index>length())){
            printf("Neverni indeks (indeks=%d)\n", index);
            return data[0];//Что возвращать? Хотел EOF, не даёт... Ну, думаю, и так можно оставить, просто не знаю, что программисты в таких случаях возвращают :)
        }
        else
            return data[index];
    }
Вроде по образцу...

Добавлено через 12 минут
Нашёл даже для класса stirng пример:
C++
1
2
const char& operator[] ( size_t pos ) const;
      char& operator[] ( size_t pos );
Может я функцию для обращения неправильно вызываю? Меня смущает второе написание const, для +(конкатенации строк) - понятно зачем, а тут?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru