Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

инициализаторы в С++

191  
kashej постоялец08.04.07 19:24
kashej
NEW 08.04.07 19:24 
Если класс содержит константные аттрибуты, то нужно использовать так называемые инициализаторы. В инициализатор может быть, например таким:
:Ver(version), MessageType(msgType)
где Ver и MessageType константные аттрибуты класса.
Внимание - вопрос! А как же провести какие-то предварительные действия, например проверку - не выходит ли аргумент за допустимые пределы?
http://denis-aristov.ucoz.com
#1 
Simple Nothing is f*cked08.04.07 19:36
Simple
NEW 08.04.07 19:36 
в ответ kashej 08.04.07 19:24
Проверь там, где создаешь объект.
#2 
kashej постоялец08.04.07 19:45
kashej
NEW 08.04.07 19:45 
в ответ Simple 08.04.07 19:36
ну это то понятно.
http://denis-aristov.ucoz.com
#3 
  Chipolino местный житель08.04.07 22:16
NEW 08.04.07 22:16 
в ответ kashej 08.04.07 19:24
только не вздумай запустить исключение , если не "пройдёт проверку" :-)
#4 
Simple Nothing is f*cked09.04.07 00:12
Simple
09.04.07 00:12 
в ответ Chipolino 08.04.07 22:16
Почему нет?
#5 
  Chipolino местный житель09.04.07 10:25
09.04.07 10:25 
в ответ Simple 09.04.07 00:12
Обьект не будет до конца создан(деструктор не вызовется) , в лучшем случае вообще не будет создан .
#6 
  Chipolino местный житель09.04.07 10:27
NEW 09.04.07 10:27 
в ответ kashej 08.04.07 19:24
Simple прав , об этом должны заботиться классы Ver и MessageType .
#7 
kashej постоялец09.04.07 11:15
kashej
NEW 09.04.07 11:15 
в ответ Chipolino 09.04.07 10:27
Это не классы, а обычные константные элементы типа int.
http://denis-aristov.ucoz.com
#8 
Simple Nothing is f*cked09.04.07 17:54
Simple
NEW 09.04.07 17:54 
в ответ kashej 09.04.07 11:15
Вот тебе чтиво: http://www.gotw.ca/gotw/066.htm
#9 
Simple Nothing is f*cked09.04.07 17:54
Simple
NEW 09.04.07 17:54 
в ответ Chipolino 09.04.07 10:25
Ну, и в чем проблема?
#10 
  Chipolino местный житель14.04.07 08:48
NEW 14.04.07 08:48 
в ответ Simple 09.04.07 17:54
чёт я запизд...ся .
Если конструктор не закончил свою работу, все объекты должны быть уничтожены , по стандарту .
#11