![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
HyugaNeji |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 28.6.2008 Репутация: нет Всего: нет |
Привет. Возник вопрос:
Как передать классы или указатели как парметры функции? Например
Чтобы функция создала объект типа class с указателем на неё point. Как мне объявлять парметры функции? Ну вместо int или String - какой тип мне писать? |
|||
|
||||
Sartorius |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: 2 Всего: 37 |
Если возвращать указатель на класс планируешь. Ну или ссылкой
|
||||
|
|||||
sprata |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 6.9.2008 Репутация: нет Всего: нет |
Объекты классов так же как указатели или ссылки на объекты передаются в ф-ию так же как и обычные переменные, при этом вместо обычного встроенного типа указывается пользовательский тип, то есть имя класса, которому принадлежит объект.
Это сообщение отредактировал(а) sprata - 15.9.2008, 15:36 |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
чувствуются что ТС нужно передавать именно классы. Языковыми средствами С++ такое не позволено. Если действительно нужно нечто подобное , то смотрите паттерн фабрика. |
|||
|
||||
HyugaNeji |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 28.6.2008 Репутация: нет Всего: нет |
Эх очень жаль, придётся вручную делать, потому что я и понятия не имею что такое патэрн фабрика ( |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
||||
|
||||
J0ker |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 986 Регистрация: 17.9.2008 Репутация: 9 Всего: 14 |
ну это вам просто для фану только не показывайте это гуру - будут бить ногами, возможно по лицу (вобщем-то заслуженно ![]() |
||||||
|
|||||||
HyugaNeji |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 28.6.2008 Репутация: нет Всего: нет |
Спасибо.
Но как потом её использовать, я неразобрался ![]() ![]() |
|||
|
||||
J0ker |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 986 Регистрация: 17.9.2008 Репутация: 9 Всего: 14 |
type_name - любой тип имеющий дефолтный конструктор |
||||
|
|||||
flagist0 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 29.10.2007 Репутация: нет Всего: нет |
Если задача состоит именно в создании объекта по определенному адресу, то можно использовать placement new - new(addr) Class(params);
Это сообщение отредактировал(а) flagist0 - 19.9.2008, 11:27 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |