Structure d'une classe dans une autre classe sans le fichier .h
Bonjour,
J'aimerai savoir comment ajouter une structure d'une classe A dans une classe B sans ajouter le fichier .h ? pour vous expliquez mieux mon problème ,j'ai fait ce petit programme :
Essaye.cpp
Code:
1 2 3 4 5 6 7 8
| #include "Essaye.h"
using namespace std;
Essaye::Essaye()
{
et.nom="Jean";
et.prenom ="Jack";
} |
Essaye.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| #include <vector>
#include <string.h>
#include <iostream>
#include "Essaye2.h"
using namespace std;
#ifndef ESSAYE_H_
#define ESSAYE_H_
struct etudiant {string nom;string prenom;};
class Essaye {
public:
Essaye();
private :
int a;
etudiant et;
Essaye2 es;
};
#endif /* ESSAYE_H_ */ |
Ma deuxiéme classe :
Essaye2.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| #ifndef ESSAYE2_H_
#define ESSAYE2_H_
class Essaye2 {
public:
Essaye2();
private :
etudiant et2; //Erreur ici
};
#endif |
Lors de la compilation il m'affiche cette erreur :
Code:
1 2
| ../Essaye2.h:12: error: etudiant does not name a type
make: *** [Essaye.o] Error 1 |
Il ne reconnait pas la fonction parceque je dois ajouter le fichier.h , mais si j'ajoute le ichier.h une erreur qui s'apparait ici :
Essaye.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| #include <vector>
#include <string.h>
#include <iostream>
#include "Essaye2.h"
using namespace std;
#ifndef ESSAYE_H_
#define ESSAYE_H_
struct etudiant {string nom;string prenom;};
class Essaye {
public:
Essaye();
private :
int a;
etudiant et;
Essaye2 es;
};
#endif /* ESSAYE_H_ */ |
Que dois je faire svp ?