Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
Litkevich Yuriy |
6.5.2008, 11:10
Сообщение
#1
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
есть класс Foo
мы можем в нем определить интовые константы, например так: и потом обращатся к ним из других мест так: А как сделать строковые константы, например: MY_WORD_1 = "word1" MY_WORD_2 = "word2" чтобы к ним можно было обращаться в том же стиле, т.е.: вроде просто константы в классе нельзя определить, т.е. так: подскажите как быть |
|
|
|
|
ViGOur |
6.5.2008, 11:15
Сообщение
#2
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40
|
Можно так:
Цитата(Litkevich Yuriy @ 6.5.2008, 12:10) Link вроде просто константы в классе нельзя определить, т.е. так: Константные можно определять в классе, они определяются также как и статические. |
|
|
|
|
Litkevich Yuriy |
6.5.2008, 11:22
Сообщение
#3
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(ViGOur @ 6.5.2008, 15:15) Link Можно так: #define MY_WORD_1 word1 #define MY_WORD_2 word2 с дефайнами неудобно, их за именем класса не спрятать, Цитата(ViGOur @ 6.5.2008, 15:15) Link Константные можно определять в классе, они определяются также как и статические. т.е. так: в заголовочном: а в файле реализации: или нет? |
|
|
|
|
Tonal |
6.5.2008, 11:26
Сообщение
#4
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: 17
|
|
|
|
|
|
Litkevich Yuriy |
6.5.2008, 11:36
Сообщение
#5
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
а инициализировать так как я написал?
|
|
|
|
|
ViGOur |
6.5.2008, 11:52
Сообщение
#6
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40
|
Угу.
|
|
|
|
|
Litkevich Yuriy |
6.5.2008, 11:54
Сообщение
#7
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
тоже const надо приписать, а то компилер говорит, не совпадает обявление с определением:
|
|
|
|
|
Andrew Selivanov |
6.5.2008, 12:14
Сообщение
#8
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 249 Регистрация: 9.10.2007 Из: Москва Пользователь №: 3 Спасибо сказали: 15 раз(а) Репутация: 6
|
Сообщение отредактировал Andrew Selivanov - 6.5.2008, 12:17 |
|
|
|
|
AD |
6.5.2008, 12:14
Сообщение
#9
|
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17
|
Цитата(Litkevich Yuriy @ 6.5.2008, 12:54) Link тоже const надо приписать, а то компилер говорит, не совпадает обявление с определением: Константные члены можно ведь инициализировать и в конструкторе класса. Разве нет? |
|
|
|
|
Andrew Selivanov |
6.5.2008, 12:30
Сообщение
#10
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 249 Регистрация: 9.10.2007 Из: Москва Пользователь №: 3 Спасибо сказали: 15 раз(а) Репутация: 6
|
Цитата(AD @ 6.5.2008, 13:14) Link Константные члены можно ведь инициализировать и в конструкторе класса. Разве нет? 1) Более того их нужно инициализировать в конструкторе класса, иначе будет айяйяй 2) Не забывай, что он еще и static Сообщение отредактировал Andrew Selivanov - 6.5.2008, 12:33 |
|
|
|
![]() ![]() |
|
Текстовая версия | Сейчас: 7.12.2025, 12:54 |