Bonjour!
Pour testes quelques petits truc j'ai écrit un petit prog:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 #include <glib.h> class B; class A { public: /* constructeurs */ A(); virtual ~A(); protected: /* Membres protégés */ B* m_pb; };
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #include <iostream> #include <glib.h> #include <queue> class B { friend class A; public: B(); virtual ~B(); protected: /* Membres protégés */ std::queue<int> m_qint; /* Fonctions protégées */ bool _push(int); void _affiche(); };
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #include "CA.h" #include "CB.h" /* construct et destruct */ A::A():m_pb(new B) { char fin='n'; int i; do{ std::cout<<"Entrez un entier (Attention aucun test d'erreur impléménté!!):"; std::cin>>i; m_pb->_push(i); std::cout<<"Voulez-vous continuer?(o/n):"<<std::endl; std::cin>>fin; }while(fin!='n' && fin!='N'); std::cout<<"Voulez-vous dépiler le conteneur?(o/n):"; std::cin>>fin; if(fin=='o' || fin=='O')m_pb->_affiche(); } A::~A(){}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 #include "CB.h" /* construct et destruct */ B::B(){} B::~B(){} /* Fonctins protégées */ void B::_affiche() { while(m_qint.size()) { std::cout<<"Message de B:\nTaille du conteneur: "<<m_qint.size(); std::cout<<"\nJe dépile mon conteneur:\t"<<m_qint.front()<<std::cout<<std::endl; m_qint.pop(); } } /* Fonctions */ bool B::_push(int i) { m_qint.push(i); return true; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 #include <iostream> #include <queue> #include "CA.h" int main() { std::queue<int> q; q.push(1); q.push(2); q.push(3); while(q.size()){ std::cout<<"taile de q:"<<q.size()<<"\nelement:\t"<<q.front()<<std::endl; q.pop(); } A a; return 0; }Beaucoup de code pour pas grand chose, si ce n'est ce petit lièvre...taile de q:3
element: 1
taile de q:2
element: 2
taile de q:1
element: 3
Entrez un entier (Attention aucun test d'erreur impléménté!!):1
Voulez-vous continuer?(o/n):
o
Entrez un entier (Attention aucun test d'erreur impléménté!!):2
Voulez-vous continuer?(o/n):
o
Entrez un entier (Attention aucun test d'erreur impléménté!!):3
Voulez-vous continuer?(o/n):
n
Voulez-vous dépiler le conteneur?(o/n):o
Message de B:
Taille du conteneur: 3
Je dépile mon conteneur: 10x604ca8
Message de B:
Taille du conteneur: 2
Je dépile mon conteneur: 20x604ca8
Message de B:
Taille du conteneur: 1
Je dépile mon conteneur: 30x604ca8
Press ENTER to continue.
Quelle explication se cache derrière ces valeurs?
Partager