2 / 2 / 1
Регистрация: 03.11.2014
Сообщений: 129
1

Что значит const в конструкторе класса?

07.05.2016, 02:20. Показов 932. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, не понимаю что значит const в конструкторе класса. Встречался с const только когда он работал с переменными. Или это значит что нельзя будет поменять значение переменно внутри конструктора? Можете пожалуйста объяснить? Заранее спасибо.
C++
1
2
ostream& operator<<(ostream& ofs, const BigInt& big); //что значит в этом случае?
BigInt makePow(int power) const; //что в этом случае?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.05.2016, 02:20
Ответы с готовыми решениями:

Параметр const T & val = T() в конструкторе шаблонного класса
Добрый день! Начал разбираться с шаблонами и наткнулся на такой пример: template &lt; typename T...

Что значит const float PI = 3.14159F ?
Для изучения С++ использую книгу Лафоре. На стр. 61 видим предложение: &quot;Если вам необходимо описать...

Что значит знак ":" в конструкторе?
Перенесено из темы https://www.cyberforum.ru/cpp-beginners/thread239538.html#post13109315 Хотя...

Что значит определить состояние класса?
Что значит определить состояние класса?

1
Вездепух
Эксперт CЭксперт С++
11691 / 6370 / 1723
Регистрация: 18.10.2014
Сообщений: 16,052
07.05.2016, 03:06 2
Цитата Сообщение от sky123 Посмотреть сообщение
что значит const в конструкторе класса
Цитата Сообщение от sky123 Посмотреть сообщение
внутри конструктора
Нигде в ваших кусочках кода никак не замешаны никакие "конструкторы". Поэтому не ясно, почему вы постоянно упоминаете "конструктор". Конструкторы тут совершенно ни при чем.

Цитата Сообщение от sky123 Посмотреть сообщение
C++
1
ostream& operator<<(ostream& ofs, const BigInt& big); //что значит в этом случае?
Значит, что функция operator<< получает параметр big по константной ссылке. В общем и целом эта функция не сможет модифицировать значение объекта, на который ссылается эта ссылка (из этого есть частные исключения, но пока не будем о них). Эта функция сможет вызывать только const методы объекта big.

Цитата Сообщение от sky123 Посмотреть сообщение
C++
1
BigInt makePow(int power) const; //что в этом случае?
Такое возможно только если makePow является методом какого-то класса. Вы не привели соответствующий контекст, поэтому не понятно, методом какого класса является makePow.

Такое const означает, что "невидимый" параметр this (передаваемый. как известно, в каждый нестатический метод класса) будет иметь тип "указатель на константный объект". Это означает, что метод makePow не сможет менять содержимое объекта *this и сможет вызывать только const методы объекта *this.
1
07.05.2016, 03:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.05.2016, 03:06
Помогаю со студенческими работами здесь

Что значит оператор * ПОСЛЕ имени класса?
в исходниках хромиума например есть такой отрывок void MarkRequestAsFailed(net::URLRequest*...

Что значит static для переменной-члена класса?
class A{ static int x; }; Что значит static для переменной-члена класса?

Инициализация шаблонного класса(В конструкторе класса после двоеточия вновь имя класса)
Всем доброго времени суток! Пытаюсь разобраться как работает приведенный мной код. Конкретно,...

Что значит обобщить базовый классы до некого абстрактного класса
Что значит обобщить базовый классы до некого абстрактного класса??


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru