Il faut déclarer la classe sans implémenter son contenu soit:
class Obj;
class F{...};
class Obj{...};
De cette façon on peut utiliser des références à Obj dans F alors qu'elle n'a pas été réellement déclarée (solution au problème des dépendances circulaires...)
Il faut que chaque objet de F sache dans quel object Obj il est ou alors qu'il possède un pointeur le floatant.
class F
{
F(obj * _target);
void Fonction_qui_a_besoin_de_v()
{
owner->v <= et la tu récupères la valeur du floatant de ton object Obj.
}
obj * owner;
}
Par contre pour créer un object F, il faudra systèmatiquement du coup spécifier dans quel object Obj tu l'ajoutes.
On peut éviter ca facilement, en rendant tout ca transparent avec des fonctions membre dans Obj pour ajouter des objets F.