Objekty C++ - přenášení hodnot mezi nimi
Zdravím,
dělám takový projekt v C++ při využití dark GDK, programuji objektově. Narazil jsem na jeden problém, potřebuji umístit 3D_objekty na pozici kamery. Mám objekt Kamery ve kterém mám uložené id_kamery. Také mám objekt 3D_objekty ve kterém mám funkci Umisti. A nyní potřebuji pro funkci zjistit pozice Kamery, kterou lze díky GDK zjistit pomocí funkce dbCameraX(id_camery), ale bohužel toto id_kamery mám umístěné v jiném objektu. Jak se na něj dostanu? Napadlo mě předání id_kamery pomocí globální proměnné, či veřejná proměnná id_kamery v Kamery a pomocí parametrů funkce Umisti dostanu tuto hodnotu kam chci. Je ještě jiná možnost? Chci aby alespoň trochu vypadalo a né nějaký násilný řešení ve kterém je pak jen zmatek. Díky za pomoc
Co ti brání si to id_kamery z toho dalšího objektu přečíst?
Jediné, co potřebuješ je mít odkaz na ten objekt a mít id_kamery jako veřejnou proměnnou.
P%okud tohle nemáš k dispozici, zřejmě tvému objektovému návrhu něco chybí...
Objektové programování se teprve učím, nicméně když přece do 3D_objekt.Umisteni napíšu Kamery.id_kamery tak to při kompilování programu vyhodí chybu.
Těžko ti někdo odpoví, když nikdo z nás nic neví o tvém objektovém návrhu.
Obecně. Pokud potřebuješ přistupovat k jednotlivým objektům, musíš si držet seznam objektů. Vlastnosti objektů, ke kterým chceš přistupovat z vnějšku objektů, musí být public.
Pokud ti to hlásí chybu, pak máš něco špatně.
pak chces asi neco jako 3D_objekt.Umisti(dbCameraX(id_camery))