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

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

Войти
Регистрация
Восстановить пароль
 
tokar2
25 / 25 / 1
Регистрация: 09.11.2012
Сообщений: 229
#1

присвоения константе - C++

20.01.2013, 16:19. Просмотров 408. Ответов 8
Метки нет (Все метки)

Допустим у нас есть класс:
C++
1
2
3
4
5
6
7
8
9
10
11
class Class{
public:
    Class(int = 5);
private:
    const int n;
};
 
Class::Class(int _n)
{
 
}
Как присвоить закрытой переменной какое-то значение?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2454 / 1626 / 238
Регистрация: 24.11.2012
Сообщений: 4,001
20.01.2013, 16:28     присвоения константе #2
Константу по-честному можно только инициализировать.
C++
1
Class::Class(int value) : n(value) { }
Upd: что за ерунда в 3 строке...
Schizorb
20.01.2013, 18:46
  #3

Не по теме:

Цитата Сообщение от 0x10 Посмотреть сообщение
что за ерунда в 3 строке...
Почему ерунда? Просто указано значение параметра по умолчанию, а в прототипе его имя необязательно.

0x10
20.01.2013, 19:58
  #4

Не по теме:

По отдельности опускание имени и параметры по умолчанию знаю, но чтобы было вместе - не встречал, сорри. Выглядит... странно)

nonedark2008
851 / 590 / 116
Регистрация: 28.07.2012
Сообщений: 1,586
20.01.2013, 20:07     присвоения константе #5
У констант типа int значение можно указывать вместе с объявлением:
C++
1
2
3
4
class A  {
private:
  const int b = 100;
};
alex_x_x
бжни
2445 / 1650 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
20.01.2013, 20:09     присвоения константе #6
nonedark2008, нет, так нельзя

можно так:

C++
1
2
3
4
class A  {
private:
  static const int b = 100;
};
diagon
Higher
1924 / 1190 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
20.01.2013, 20:11     присвоения константе #7
Цитата Сообщение от alex_x_x Посмотреть сообщение
нет, так нельзя
В с++11 можно же
MrGluck
Ворчун
Эксперт CЭксперт С++
6615 / 3806 / 495
Регистрация: 29.11.2010
Сообщений: 10,044
20.01.2013, 20:14     присвоения константе #8
Цитата Сообщение от diagon Посмотреть сообщение
В с++11 можно же
А смысл? Статик куда лучше подходит.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2013, 20:15     присвоения константе
Еще ссылки по теме:

C++ Как присвоить константе число с клавиатуры
Результат присвоения строке C++
Просуммировать элементы матрицы сумма индексов которых равна заданной константе C++
C++ Шаблоны и оператор присвоения
Как передать значение константе? C++

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

Или воспользуйтесь поиском по форуму:
nonedark2008
851 / 590 / 116
Регистрация: 28.07.2012
Сообщений: 1,586
20.01.2013, 20:15     присвоения константе #9
Цитата Сообщение от alex_x_x Посмотреть сообщение
нет, так нельзя
Да, ты прав.
Yandex
Объявления
20.01.2013, 20:15     присвоения константе
Ответ Создать тему
Опции темы

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