|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
10.09.2013, 22:05 | #61 |
Форумчанин
Регистрация: 22.04.2013
Сообщений: 588
|
А вот public:
Cat(int initialAge=5); Что ж е не видно? область видимости - конструктор. Понял. Последний раз редактировалось Dimka-novitsek; 10.09.2013 в 22:10. |
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. |
10.09.2013, 22:14 | #63 |
Форумчанин
Регистрация: 22.04.2013
Сообщений: 588
|
Спасибо!!!
|
10.09.2013, 22:17 | #64 | |
Great Code Monkey
Форумчанин
Регистрация: 09.08.2007
Сообщений: 533
|
Давай, Игорь, я верю, что ты все объяснишь)
Только небольшое замечание по поводу Цитата:
1) ищет имя вызываемой функции в областях видимости, находит всех кандидатов 2) среди кандидатов по типу аргументов выбирает самую подходящую функцию 3) и только теперь проверяет доступность Это называется поиском Кенига или ADL, ежели по-умному) |
|
10.09.2013, 22:23 | #65 |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
Нет, спасибо, геройствовать с объяснениями что-то не хочется
Да, Вы правы, действительно спутал эти два понятия. Спасибо за разъяснение. |
11.09.2013, 00:04 | #66 |
Форумчанин
Регистрация: 22.04.2013
Сообщений: 588
|
Да, ну не знал я, что област видимости сам конструктор. Ведь написано Как же инициализировать переменные-члены класса? Для этого в классе используется специальная функция-член, называемая конструктором.
Я думал, конструктор нужен только потому, что в классе нельзя написать просто int initialAge=5 и как- либо работать с переменной. Я теперь наоборот в легком шоке. Переменную, инициализированную в конструкторе, не видно! Так таки зачем он тогда нужен?? Ну, хорошо. Значит, конструктор- это как функция, но порядком ущербная, наружу в принципе ничего не может выдать... ?? |
11.09.2013, 00:42 | #67 | |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
Цитата:
Как и любой другой метод (конструктор - специальный метод), он образует свою область видимости. Модификаторы доступа здесь ни причем. Разве initialAge - переменная-член КЛАССА? Последний раз редактировалось Igor95; 11.09.2013 в 00:44. |
|
11.09.2013, 01:08 | #68 | |
Пользователь
Регистрация: 31.08.2013
Сообщений: 93
|
Цитата:
Вы немного путаете понятия выдать наружу и вернуть результат. Вернуть результат конструктор не может, а вот что вы называете "выдать наружу" - да запросто: Объявите во входных параметрах ссылку на какую нибудь переменную и оперируйте с ней как с ссылкой, делайте что хотите... Результат этих операций внутри конструктора, будет отображен снаружи. А если ещё проще, можно оперировать с глобальными переменными, они то уж точно снаружи находятся: Код:
Последний раз редактировалось Vladiger; 11.09.2013 в 01:12. Причина: орфография |
|
11.09.2013, 02:20 | #69 | |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
Здесь автор, видимо, имел ввиду проблему именно видимости идентификатора (т.е формального параметра), а не способы, с помощью которых можно получить/изменить значение формального параметра и т.д.
Цитата:
Последний раз редактировалось Igor95; 11.09.2013 в 02:23. |
|
11.09.2013, 11:49 | #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 |