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

Перегрузка бинарного оператора - 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... http://www.cyberforum.ru/cpp-beginners/thread138500.html
Максимумы и минимумы. Векторы C++
1). Дано целое число N из целых чисел. Найти номера первого и последнего максимального элемента из данного набора и вывести их в указанном порядке. 2). Дан целочисленный массив размера N. Вывести...
Удалить из файла 3 последние строки. C++
Дан текстовый файл, содержащий более 3х строк. Удалить из файла 3 последние строки.
C++ Матрицы http://www.cyberforum.ru/cpp-beginners/thread138482.html
1). Дана матрица размера M*N. Для каждой строки матрицы найти сумму её элементов. 2). Дана квадратная матрица А порядка М. Найти сумму элементов её главной диагонали, содержащей следующие элементы:...
C++ Программа создания словника по тексту. Уважаемые программисты, помогите пожалуйста! Я ничего не соображаю в С++, а задание очень большое и сложное. Вся надежда на вас - мыслящих людей!:) Заранее спасибо! а) Программа создает (или... подробнее

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