Classe en c++

katdeath Messages postés 1 Date d'inscription jeudi 5 juillet 2007 Statut Membre Dernière intervention 25 janvier 2009 - 25 janv. 2009 à 00:18
gteam72 Messages postés 5 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 29 janvier 2009 - 29 janv. 2009 à 15:00
bonsoir , je dois faire un exercice qui est le suivant : ecrivez une classe pile_entier permettant de gérer une pile d'entiers conservés dans un tableau alloué dynamiquement . la classe comportera les fcts suivantes
pile_entier(int n): constructeur allouant dynamiquement un emplacement de n entiers
pile_entier():allouant par défaut  un emplacement de 20 entiers
~pile_entier()
void empile(int p):ajoute p à la pile
int depile(): fournit la valeur de l'entier situé en haut de la pile en le supprimant de la pile
int pleine(): retourne 1 si la pile est pleine 0 sinn
int vide () : retourne 1 si la pile est vide 0 sinn
-donnez une fct main utilisant des objets automatiques et dynamiques de type pile entier
-il faut chercher à étendre cet exercice pour des piles d'objets
svp aidez moi car je  ss vraiment nulle dans les classes en c ++
j'ai trouvé une partie de l'exercice sur un site mais il me faut encore quelques trucs et je ne comprends pas ce qui figure dans la ligne 8
1:#include<iostream>
2:using namespace std;
3:
4:
5:class stack {
6:
7:public:
8:stack(int n):size(n),top(0){
9: A =(int*)malloc(size*sizeof(int));
10:for(int i=0; i<size; i++) A[i]=0;
11:};
12:~stack(){free(A);};
13:void push (int);
14:intpop();
15:intlength()const{return top;};
16:
17:private:
18:constint size;
19:int*A;
20:int top;
21:};
22:
23:void stack::push (int i){
24:if(top < size){
25: A[top++]= i;
26:}
27:}
28:
29:int stack::pop(){
30:if(top){
31:return A[--top];
32:}else{
33:return0;
34:}
35:}
36:
37:
38:intmain(){
39: stack s(10);
40: s.push(10);
41: s.push(9);
42: s.push(8);
43: s.push(7);
44: s.push(6);
45: s.push(5);
46: s.push(4);
47: s.push(3);
48: s.push(2);
49: s.push(1);
50:
51:for(int i=0; i<15; i++){
52: cout << s.length()<<""<< s.pop()<<"\n";
53:}
54:}
55:
56:
57:
merci d'avance

2 réponses

s@ldon Messages postés 140 Date d'inscription samedi 1 novembre 2003 Statut Membre Dernière intervention 30 septembre 2009 2
27 janv. 2009 à 08:44
8:
stack
(
int n):size(n),top(0){
9: A =(int*)malloc(size*sizeof(int));
10:for(int i=0; i<size; i++) A[i]=0;
11:};

c'est le constructeur de la classe stack qui initialise la variable size à n et top à 0.
ensuite, allocation de mémoire, et remplissage du tableau avec des 0.

Relis les cours de C++, je pense que tu en as sérieusement besoin...
0
gteam72 Messages postés 5 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 29 janvier 2009
29 janv. 2009 à 15:00
:)
0