![]() |
|
Модераторы: bsa |
![]()
|
|
| kurtis |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 10.8.2007 Репутация: нет Всего: нет |
Есть следующий код
Есть 4 глобальных переменные, в классе могут использоваться от 1 до 4х переменных. Для этого я создаю 4 конструктора (перегрузка конструктора) для передачи в обьект разного количества параметров. Параметры передаются по ссылке. Собственно непонятность возникает из-за такого кода
Это конструктор который передается в обьект 1 параметр, но т.к. я передаю параметры по ссылке, а ссылка обязательно должна куда-то ссылаться, мне приходится извращатся и писать cYA2 ( yaNULL ),, т.е. есть какая-то переменная yaNULL, которая болтается где-то за классом, и которая используется только для того чтоб на нее указывали не использующиеся ссылки. Можно ли как-то "сказать" ссылке, что она не используется, и что ей не обязательно куда-то указывать???Звучит нелепо, но по другому не могу сформулировать....Т.е. я хочу попытаться избежать использования переменной yaNULL. Делать через макросы как-то не красиво , а писать для каждого отдельного случая свой класс, как-то слишком сложно, т.к. класс достаточно большой, и если найдутся какие-то ошибки(а они обязательно найдутся=)), то потом их синхронно исправлять в 4-х классах одновременно будет очень сложно. Через указатель это решается без проблем, но в образовательных целях хочется именно сделать через ссылку.... Заранее Спасибо!=) |
||||
|
|||||
| Annihilator |
|
|||
![]() bytegrinder ![]() ![]() Профиль Группа: Участник Сообщений: 493 Регистрация: 21.11.2006 Где: Омск Репутация: 1 Всего: 3 |
Насколько помню это невозможно. Ты, кажется уже создавал похожую тему, или я что-то не понимаю.. сформулируй четче. -------------------- Если вы не можете сделать хоpошyю пpогpаммy, сделайте, чтобы она по кpайней меpе выглядела хоpошо |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
если ссылка может быть нулем - то вместо ссылки нужно использовать указатель.. Помойму надо не избегать переменной yaNULL, а пересмотреть весь Ваш код.. Мне кажется Вы пошли не тем путем для решения своей задачи. Не могли бы Вы озвучить исходное задание ? тогда будет понятно отчего плясать ... |
|||
|
||||
| Torsten |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 10.6.2008 Где: Pskov Репутация: нет Всего: 7 |
Если параметр ссылки может отсуствовать, то это не ссылка, это указатель. --------------------
We have no begining, we have no end. We are infinite. |
|||
|
||||
| xvr |
|
||||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
|
||||||||
|
|||||||||
| kurtis |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 10.8.2007 Репутация: нет Всего: нет |
Все спасибо за советы, видимо буду делать через указатель....
|
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
"грязный" - это еще мягко сказанно ! Искрене надеюсь, что никто не воспользуется этим советом ... |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |