|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.10.2009, 17:30 | #1 |
Заблокирован
Регистрация: 27.08.2009
Сообщений: 569
|
Функция - член класса
Вот изучаю классы, и я так понял,можно описывать функции вне класса, достаточно знака ": :".
Вот решил написать, поэкспериментировать. Что-то не выходит. Всё это сделать, без использования конструктора. Код:
Последний раз редактировалось Syltan; 06.10.2009 в 17:37. |
06.10.2009, 17:39 | #2 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
В классе ты объявляешь void k(), а в самой функции возвращаешь значение.
Последний раз редактировалось ds.Dante; 06.10.2009 в 17:51. |
06.10.2009, 17:46 | #3 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Плюс точки с запятой после объявления класса нет... и, когда выписываете ф-ция вне класса, то нужно указывать тип возвращаемого значения. И в пределах класса инициализированы могут быть только статические перменные
|
06.10.2009, 17:49 | #4 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
В общем, примерно так:
Код:
|
06.10.2009, 17:52 | #5 |
Заблокирован
Регистрация: 27.08.2009
Сообщений: 569
|
Спасибо. А описывать так:
Код:
reurn r1+r2 оказывается нельзя? |
06.10.2009, 17:54 | #6 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Можно, но только если это статические константы:
Код:
|
06.10.2009, 17:59 | #7 |
Заблокирован
Регистрация: 27.08.2009
Сообщений: 569
|
А они что, не статические разве будут,если без этого static const? Я же не использую new...delete.,тогда они и так должны быть статическми.
|
06.10.2009, 18:06 | #8 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
нет, потому что они будут создаваться новые для каждого экземпляра класса, не имеет значения в стеке или в куче. Между прочим, локальные переменные функции тоже динамические. Статическими по умолчания являются только переменные, расположенные вне функций и классов.
|
06.10.2009, 21:52 | #9 |
Заблокирован
Регистрация: 27.08.2009
Сообщений: 569
|
Скажите, а вот это:
Код:
Код:
Последний раз редактировалось Syltan; 06.10.2009 в 22:26. |
06.10.2009, 23:44 | #10 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Тут используется оператор присваивания.
Тут инициализируем значением сразу в конструкторе. В данном случае меньше телодвижений происходит. Для int разницы не будет практически никакой, а для "тяжелых" объектов она может быть достаточно существенной. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Указатеть на функция-член класса | BioS | Общие вопросы C/C++ | 6 | 29.09.2009 00:04 |
помогите написать функцию-член на Си++ | aka_faith | Помощь студентам | 0 | 14.06.2009 17:36 |
Как изменить статический приватный член класса?? | 3dgraph | Помощь студентам | 2 | 07.05.2009 20:06 |
Вычислить n-ый член по заданному n в массиве | DiegO | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 06.12.2008 20:58 |
одна функция потока, а другая функция - член класса запускающего этот поток | Дмитрий_Ч | Общие вопросы C/C++ | 2 | 27.09.2007 08:50 |