![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#61 |
Форумчанин
Регистрация: 22.04.2013
Сообщений: 588
|
![]()
А вот public:
Cat(int initialAge=5); Что ж е не видно? область видимости - конструктор. Понял. Последний раз редактировалось Dimka-novitsek; 10.09.2013 в 22:10. |
![]() |
![]() |
![]() |
#62 |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
![]()
public - я уже писал о том, что это такое.
Cat(int) - тоже писал, что это такое. initialAge - уже писал, что это такое. Еще раз: public - модификатор доступа, все идентификаторы, обявленные в этой области видимости видны вне класса. initialAge - локальная переменная (формальный параметр), область видимости - конструктор Cat(int). P.S - я Вам серьезно говорю: если книгу не читать, то можно весь форум заполонить вопросами, которые и в книге расписаны. Последний раз редактировалось Igor95; 10.09.2013 в 22:13. |
![]() |
![]() |
![]() |
#63 |
Форумчанин
Регистрация: 22.04.2013
Сообщений: 588
|
![]()
Спасибо!!!
|
![]() |
![]() |
![]() |
#64 | |
Great Code Monkey
Форумчанин
Регистрация: 09.08.2007
Сообщений: 533
|
![]()
Давай, Игорь, я верю, что ты все объяснишь)
Только небольшое замечание по поводу Цитата:
1) ищет имя вызываемой функции в областях видимости, находит всех кандидатов 2) среди кандидатов по типу аргументов выбирает самую подходящую функцию 3) и только теперь проверяет доступность Это называется поиском Кенига или ADL, ежели по-умному) |
|
![]() |
![]() |
![]() |
#65 |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
![]()
Нет, спасибо, геройствовать с объяснениями что-то не хочется
![]() Да, Вы правы, действительно спутал эти два понятия. Спасибо за разъяснение. |
![]() |
![]() |
![]() |
#66 |
Форумчанин
Регистрация: 22.04.2013
Сообщений: 588
|
![]()
Да, ну не знал я, что област видимости сам конструктор. Ведь написано Как же инициализировать переменные-члены класса? Для этого в классе используется специальная функция-член, называемая конструктором.
Я думал, конструктор нужен только потому, что в классе нельзя написать просто int initialAge=5 и как- либо работать с переменной. Я теперь наоборот в легком шоке. Переменную, инициализированную в конструкторе, не видно! Так таки зачем он тогда нужен?? Ну, хорошо. Значит, конструктор- это как функция, но порядком ущербная, наружу в принципе ничего не может выдать... ?? |
![]() |
![]() |
![]() |
#67 | |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
![]() Цитата:
Как и любой другой метод (конструктор - специальный метод), он образует свою область видимости. Модификаторы доступа здесь ни причем. Разве initialAge - переменная-член КЛАССА? Последний раз редактировалось Igor95; 11.09.2013 в 00:44. |
|
![]() |
![]() |
![]() |
#68 | |
Пользователь
Регистрация: 31.08.2013
Сообщений: 93
|
![]() Цитата:
Вы немного путаете понятия выдать наружу и вернуть результат. Вернуть результат конструктор не может, а вот что вы называете "выдать наружу" - да запросто: Объявите во входных параметрах ссылку на какую нибудь переменную и оперируйте с ней как с ссылкой, делайте что хотите... Результат этих операций внутри конструктора, будет отображен снаружи. А если ещё проще, можно оперировать с глобальными переменными, они то уж точно снаружи находятся: Код:
Последний раз редактировалось Vladiger; 11.09.2013 в 01:12. Причина: орфография |
|
![]() |
![]() |
![]() |
#69 | |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
![]()
Здесь автор, видимо, имел ввиду проблему именно видимости идентификатора (т.е формального параметра), а не способы, с помощью которых можно получить/изменить значение формального параметра и т.д.
Цитата:
Последний раз редактировалось Igor95; 11.09.2013 в 02:23. |
|
![]() |
![]() |
![]() |
#70 |
Форумчанин
Регистрация: 22.04.2013
Сообщений: 588
|
![]()
Доброго утра! Спасибо!! А меня все интересует, и способы, так как с темой я вобще знаком очень слабо.Я почти неизбежн узнаю что-то новое.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Прошу прощения. Но у меня опять проблема. Написал код но что то неправельно потправте меня. | Sergey 23 | Visual C++ | 2 | 15.09.2012 19:59 |
CheckBox, что-то у меня не получается... | Snekich | Microsoft Office Excel | 2 | 18.12.2011 20:12 |
Меня что, кто-то атакует? | Altera | Свободное общение | 9 | 03.10.2010 18:34 |
Меня хакнули, что делать? | Alex Cones | Свободное общение | 6 | 03.03.2010 23:14 |
что-то у меня не получается | dinozavr | Помощь студентам | 10 | 22.04.2009 21:45 |