|
|
|
Переменная-член класса, недоступная только на запись
|
|||
|---|---|---|---|
|
#18+
Если объявить переменную в классе protected, то её будет нельзя ни читать, ни писать снаружи класса (подробности не в счёт). В программе уже есть около ста обращений к переменной, и среди них только десятка два присвоений. Мне как раз присвоения надо отследить. Но если я объявлю её protected, то мне придётся вносить изменения в ста местах :( Нет ли в C++ способа это обойти? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2004, 14:13 |
|
||
|
Переменная-член класса, недоступная только на запись
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2004, 15:12 |
|
||
|
Переменная-член класса, недоступная только на запись
|
|||
|---|---|---|---|
|
#18+
Не понял. Какую из этих переменных можно изменить функцией класса, но нельзя снаружи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2004, 17:35 |
|
||
|
Переменная-член класса, недоступная только на запись
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2004, 18:06 |
|
||
|
Переменная-член класса, недоступная только на запись
|
|||
|---|---|---|---|
|
#18+
ZrenBy Смешно :) f, наверно, public? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2004, 19:52 |
|
||
|
Переменная-член класса, недоступная только на запись
|
|||
|---|---|---|---|
|
#18+
Это было, на мой взгляд, самое простое и элегантное решение... Можно еще так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2004, 21:24 |
|
||
|
Переменная-член класса, недоступная только на запись
|
|||
|---|---|---|---|
|
#18+
а так: Код: plaintext ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2004, 10:45 |
|
||
|
Переменная-член класса, недоступная только на запись
|
|||
|---|---|---|---|
|
#18+
funikovyuri Ты не ответил на мой вопрос. Какую из этих переменных можно изменить функцией класса, но нельзя снаружи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2004, 11:47 |
|
||
|
Переменная-член класса, недоступная только на запись
|
|||
|---|---|---|---|
|
#18+
Ой Вэй Первый способ позволяет открыть переменную под одним именем для чтения, а под другим для записи. Хоть это и не на 100% то что нужно тебе, но как ты сам сказал В программе уже есть около ста обращений к переменной, и среди них только десятка два присвоений. Мне как раз присвоения надо отследить. Так вот - все присвоения на этапе компиляции тебе покажет компилятор :) Второй способ использует парадигму свойства на C++ видоизмененную для твоего случая. Он на 100% удовлетворяет твоим требованиям и несколько неудобен так как требует перечисления всех классов-клиентов как friend . Но, опять же, нужно ли это - ведь если задача стоит отследить присваивания - но достаточно в friend'ы записать только базовый класс владелец свойства (это позволит ему самому менять свойство в своих методах) - а все присваивания из вне будут указаны компилятором... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2004, 12:05 |
|
||
|
Переменная-член класса, недоступная только на запись
|
|||
|---|---|---|---|
|
#18+
CEMb Как безнадежно я устарел, со своими шаблонами! MS C++ Specific forever... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2004, 12:08 |
|
||
|
Переменная-член класса, недоступная только на запись
|
|||
|---|---|---|---|
|
#18+
2 funikovyuri Не переживай, я сам тока недавно обновился :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2004, 16:35 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32524660&tid=2034938]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 377ms |

| 0 / 0 |
