Pointeur vers l'object conteneur parent.
Bonjour,
Voila, cela fait un moment que je bute sur un problème qui a l'air plutot simple.
Je désirerais créer deux objets :
- le premier est un conteneur contenant une liste du deuxième objet
- le deuxième objet est un objet quelconque mais possédant un pointeur vers son parent.
J'ai donc essayé de faire un petit essai :
parent.cpp et item.cpp :
Code:
#include "parent.hpp"
Code:
#include "item.hpp"
parent.hpp :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
#ifndef PARENT_HPP
#define PARENT_HPP
#include <vector>
#include "item.hpp"
using namespace std;
class Parent : public vector<Item>{};
#endif /* PARENT_HPP */ |
item.hpp :
Code:
1 2 3 4 5 6 7
|
#ifndef ITEM_HPP
#define ITEM_HPP
class Item {};
#endif /* ITEM_HPP */ |
Cela compile donc très bien.
Maintenant il suffirait suivant ce que je souhaiterai faire de rajouter un pointeur dans chaque item pour pointer ves le parent. Je commence donc par rajouter dans item.hpp un include vers parent.hpp
Code:
1 2 3 4 5 6 7 8 9
|
#ifndef ITEM_HPP
#define ITEM_HPP
#include "parent.hpp"
class Item {};
#endif /* ITEM_HPP */ |
Mais la le code ne compile plus. Et j'ai l'erreur :
Code:
1 2 3 4 5 6
|
In file included from item.hpp:4,
from item.cpp:1:
parent.hpp:9: erreur: Item was not declared in this scope
parent.hpp:9: erreur: patron de l'argument 1 est invalide
parent.hpp:9: erreur: patron de l'argument 2 est invalide |
Voila, je désirais faire comme cela car c'est en gros cette technique que j'utilisais en C#. Je créais le pointeur dans l'item et ensuite je surchargeais les méthodes d'ajout et de suppression d'item dans les parents pour qu'il affecte à l'item rajouté le nouveau parent.
Donc je ne sais pas comment faire en C++. Si quelqu'un peut m'aider à résoudre mon problème de compilation ou peut m'orienter vers une autre technique plus utilisée en C++ ...
Merci d'avance.