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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 38, средняя оценка - 4.63
maks_b1
1 / 1 / 0
Регистрация: 26.11.2011
Сообщений: 29
#1

Константные поля и методы - C++

04.02.2012, 14:30. Просмотров 5099. Ответов 4
Метки нет (Все метки)

А можете объяснить, что такое константные поля и методы в классах?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2012, 14:30     Константные поля и методы
Посмотрите здесь:

Константные методы и объекты класса - C++
Это необходимость, или явная подстраховка того, что бы объект (константный) работал с себе подобными методами класса ?

Дублирование кода и константные методы - C++
Есть метод method возвращающий ссылку на внутреннее значение объекта. Существует в двух вариантах - константный и обычный. Константная...

Константные поля класса - C++
Такой вопрос, как инициализировать константные поля класса? Работают конструкции вида obj():t(0){}; который используется в примере ниже. А...

Константные поля и операция присвоения - как быть? - C++
У меня в классе реализовано константное поле: int const constant; инициализация такой переменной происходит в конструкторе в списке...

Константные и не константные ссылки. Приведения типов. Нужно уточнение - C++
Не очень понимаю в чем различие (2,3 строчки). int x = 10; double &y = x; const double &y = x; Почему для не...

Создать класс Massiv (матрица вещественных чисел), количество строк и столбцов константные поля. - C++
Помогите решить с объяснениями. Создать класс Massiv (матрица вещественных чисел), количество строк и столбцов константные поля. ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
04.02.2012, 14:57     Константные поля и методы #2
Константное поле изменить нельзя.
Константный метод ничего изменить в классе не может. Также не может вызывать не константные функции.
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
#include <iostream>
 
class A
{
    const int a;
    int b;
public:
    A(int _a): a(_a)
    {
        //a = 4;
    }
    
    int getA() const
    {
        //b = 4;
        return a;
    }
};
 
int main()
{
    A a(3);
    std::cout << a.getA() << std::endl;
    return 0;
}

Не по теме:

Скажите мне название книги по ООП в С++ в которой этого нет, и я вам скажу, какую книгу нужно выкинуть.

silent_1991
Эксперт С++
4961 / 3037 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
04.02.2012, 18:59     Константные поля и методы #3
Цитата Сообщение от soon Посмотреть сообщение
Константный метод ничего изменить в классе не может
Кроме полей, помеченных как mutable.

Не по теме:

Цитата Сообщение от soon Посмотреть сообщение
Скажите мне название книги по ООП в С++ в которой этого нет, и я вам скажу, какую книгу нужно выкинуть.

Paporotnik
04.02.2012, 19:16
  #4

Не по теме:

Кроме полей, помеченных как mutable.
вот так всегда, только человек обрадуется простому объяснению, как вдруг оказывается, что есть исключения) а сейчас еще скажут про возможность использовать const_cast<>.

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.02.2012, 19:21     Константные поля и методы
Еще ссылки по теме:

Поля , методы и свойства. - C++
Всем доброго времени. Возник вопрос. К примеру есть : private int value; Что будет в данном примере являться полем а ...

Статические поля и методы - C++
Ни как не могу понят что же такое статические поля и методы, и какое их принципиальное отличие от простых методов полей.

Поля, переменные; Методы, функции; В чем отличие? - C++
Насколько я понимаю, &quot;поля&quot; - это и есть &quot;переменные&quot;, а &quot;методы&quot; - это &quot;функции&quot;; Недавно преподаватель задал вопрос: &quot;Какое у них...

Константные функции - C++
Почему все работает? class My { public: My(); int retFunc() const; private: bool isRet = false; };

Константные объекты - C++
#include &lt;iostream&gt; #include &lt;windows.h&gt; using namespace std; class CTest { public: int A,B; CTest(int Aval,int...

Константные функции-члены - C++
можно ли функцию-член объявить константной, если она возвращает указатель-член класса? Ведь она не изменяет занчение самого укзателя, но...


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

Или воспользуйтесь поиском по форуму:
silent_1991
Эксперт С++
4961 / 3037 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
04.02.2012, 19:21     Константные поля и методы #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ

Не по теме:

Цитата Сообщение от Paporotnik Посмотреть сообщение
const_cast<>
А вот этого не надо, за это и в морду можно получить



Добавлено через 1 минуту

Не по теме:

Ну или ногу прострелить.

Yandex
Объявления
04.02.2012, 19:21     Константные поля и методы
Ответ Создать тему
Опции темы

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