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

Перегрузка бинарного оператора - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Если среди трех чисел А, В, С имеется хотя бы одно четное вычислить максимальное http://www.cyberforum.ru/cpp-beginners/thread138520.html
Если среди трех чисел А, В, С имеется хотя бы одно четное вычислить максимальное, иначе – минимальное.Как это выглядит С++?
C++ Что означает ошибка? Написал программу. Компилятор выдаёт мне ошибки: №1) Error: Unresolved external 'ReadTextFile(std::basic_fstream<char, std::char_traits<char> >&, NoteBook&)' referenced from C:\DOCUMENTS AND SETTINGS\ADMIN\¦L+++Lг TT+T\=+TL- ¦L¦¦L (3)\DEBUG_BUILD\FUNC.OBJ №2) Error: Unresolved external 'WriteBinFile(std::basic_fstream<char, std::char_traits<char> >&, NoteBook&)' referenced from... http://www.cyberforum.ru/cpp-beginners/thread138500.html
Максимумы и минимумы. Векторы C++
1). Дано целое число N из целых чисел. Найти номера первого и последнего максимального элемента из данного набора и вывести их в указанном порядке. 2). Дан целочисленный массив размера N. Вывести все содержащиеся в данном массиве четные числа в порядке убывания их индексов, а также их количество К. 3). Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на одну позицию...
Удалить из файла 3 последние строки. C++
Дан текстовый файл, содержащий более 3х строк. Удалить из файла 3 последние строки.
C++ Матрицы http://www.cyberforum.ru/cpp-beginners/thread138482.html
1). Дана матрица размера M*N. Для каждой строки матрицы найти сумму её элементов. 2). Дана квадратная матрица А порядка М. Найти сумму элементов её главной диагонали, содержащей следующие элементы: А(0,0), А(1,1), А(2,2), ..., А(М-1, М-1). 3). Дана матрица размера M*N. Вывести её элементы, расположенные в строках с четными номерами (0,2,4,...). Вывод элементов производить по строкам, условный...
C++ Программа создания словника по тексту. Уважаемые программисты, помогите пожалуйста! Я ничего не соображаю в С++, а задание очень большое и сложное. Вся надежда на вас - мыслящих людей!:) Заранее спасибо! а) Программа создает (или добавляет в уже созданный) типизированный файл из слов текста, вводимого с клавиатуры. Повторяющиеся слова вводятся только один раз. Параллельно создается файл индексов - типизированный файл, содержащий... подробнее

Показать сообщение отдельно
easybudda
Эксперт CЭксперт С++
9470 / 5483 / 927
Регистрация: 25.07.2009
Сообщений: 10,508
19.12.2012, 03:07     Перегрузка бинарного оператора
Цитата Сообщение от Serhiy_UA Посмотреть сообщение
В предыдущем коде меня интересует 9-тая строка, а именно
C++
1
    int value() const { return _val; }
Почему здесь стоит служебное слово const ?
Я знаю, что без него программа работать не будет. Я хочу знать, согласно какого правила так надо писать. Тыкните меня носом, пожалуйста.
Посмотрите, как передаются параметры в функции в 13 и 18 строке - как ссылки на константные объекты. Компилятор не проверяет, что на самом деле происходит внутри методов класса при вызове их из функции, но раз уж переданный по ссылке объект класса не должен изменяться, должна быть гарантия, что вызываемые внутри функции методы не изменят сам объект. Что, как уже верно заметили, и достигается объявлением метода, как константного. В качестве эксперимента попробуйте внутри константного метода как-нибудь изменить переменную, значение которой он возвращает. Оно, конечно, снова не скомпилируется (не должно бы по крайней мере), но прочитать сообщение об ошибке в этом случае тоже будет полезно...
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru