У меня есть класс игрока в отдельном блоке следующим образом:Циркулярное исправление ссылки?
TPlayer = class
private
...
FWorld: TWorld;
...
public
...
end;
У меня есть класс мира в виде отдельного блока следующим образом:
TWorld = class
private
...
FPlayer: TPlayer;
...
public
...
end;
Я сделал это таким образом, так что Игрок может получать данные из мира через FWorld, так что другие объекты в мире могут получить данные игрока аналогичным образом.
Как вы можете видеть, это приводит к циркулярной ссылке (и, следовательно, не работает). Я читал, что это подразумевает плохой дизайн кода, но я просто не могу думать о другом. Что может быть лучшим способом сделать это?
Cheers!
Действительно ли это работает, если вы не объявляете указатель? Я не использовал Паскаля навсегда. –
Да, это работает. Вполне возможно, что я не буду работать с простым Pascal, но в этом случае у вас не было бы классов для начала. –
Да, это работает. Не foprget, что типы классов * являются указателями * в Delphi :) –