|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.12.2010, 15:47 | #1 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
Как в дефли в функцию передаются объекты (классы)
В С++ по-хорошему нужно передавать по ссылке.
Т.е. если передавать переменную A без параметра var, то делфи где-то создаст переменную A2, напишет A2=A, и в функции мы уже будем работать с A2. С классами дела обстоят так же? Или сразу передаётся адрес? |
13.12.2010, 15:49 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
в Делфи классы всегда хранятся через указатель на данные(С++ Object*)
то есть на стеке их создать нельзя. поэтому всегда передается указатель.(а через var передастся указатель на указатель) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
13.12.2010, 21:47 | #3 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
Как тогда понимать, в Caption попадают всё время разные адреса?
Код:
|
13.12.2010, 21:50 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
потому что @ это взятие адреса локальной переменной.
в итоге ты скачешь по стеку адресом. переменная a это уже указатель на данные класса, не надо брать его адрес. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
13.12.2010, 22:10 | #5 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
Теперь понятно. Спасибо)
|
13.12.2010, 23:17 | #6 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Позволю себе ссылочками кинуть
http://www.transl-gunsmoker.ru/2009/...tml#references http://www.transl-gunsmoker.ru/2010/09/delphi.html http://www.delphikingdom.ru/asp/view...catalogid=1186 Может, окажется полезным.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Инкапсуляция. Классы и их компоненты. Объекты | gessi | Общие вопросы C/C++ | 0 | 09.09.2010 16:05 |
TurboPascal: объекты и классы, прямоугольник с рамочкой | ulala | Помощь студентам | 0 | 05.11.2009 17:28 |
TurboPascal: объекты и классы | ulala | Помощь студентам | 1 | 28.10.2009 17:20 |
тест на php+mysql. не передаются значения переменных | Liana4271 | Помощь студентам | 2 | 14.06.2009 01:28 |