IPB

Bienvenue invité ( Connexion | Inscription )

2 Pages V   1 2 >  
Reply to this topicStart new topic
> je suis bloquée !, c'est du C++
Options
alocmoa
posté 11 Aug 2004, 10:24
Message #1


Adepte de Macbidouille
*

Groupe : Membres
Messages : 84
Inscrit : 12 Nov 2003
Lieu : Saint Etienne
Membre no 11 577



Bonjour,

j'ai un sujet qui m'est parvenu récemment et je suis bloquée non pas en programmation mais au tout début c'est à dire au niveau de la réflexion et de la création des classes sur "papier"...

QUOTE
On veut écrire une application pour gérer les factures émises par une société. Chaque facture émise comporte : un numéro de facture (entier), un numéro de client (entier), un descriptif (chaîne de caractères) et un montant total (réel).
L'application devra permettre d’ajouter une facture en précisant ses caractéristiques, d’afficher les caractéristiques d’une facture, d’afficher la liste complète des factures (et le montant total) et d’afficher la liste des factures correspondant à un client donné à partir de son numéro.
Pour mémoriser toutes les factures, l’application utilisera les deux classes Facture et ListeFactures. La classe ListeFactures sera munie des méthodes suivantes :
· AjouterFacture qui permet d'ajouter une nouvelle facture en précisant le numéro du client, le descriptif et le montant (le numéro de facture sera fixé automatiquement comme étant égal au nombre de factures courant),
· AfficherFactures qui permet d'afficher à l'écran la liste toutes les factures émises.
· MontantTotal qui permet de calculer le montant total de toutes les factures.


On m'indique les méthodes à créer dans la classe LIstesFactures et la classe Facture... là je suis perdue... j'ai tourné et retourné le sujet je n'arrive pas à quelquechose de complet et concis. J'ai bien des idées : une méthode RemplirListeFactureClient, un constructeur Facture et un eventuel AfficherFactures mais cela ne me semble pas tout à fait correct... et puis laquelle des deux classes sera la classe mère ????

Si quelqu'un a une idée, je m'intéresserai à la proposition.

En attendant je continue à me pencher sur le problème...

Merci par avance !

Alocmoa


--------------------
imac G4 combo 800, HP Deskjet 5150, lecteur disquette Mitsumi, Panther, microsoft officeX, Mail, .........
Go to the top of the page
 
+Quote Post
satan87
posté 11 Aug 2004, 10:54
Message #2


Adepte de Macbidouille
*

Groupe : Membres
Messages : 251
Inscrit : 30 Nov 2002
Membre no 4 943



salut

je ne suis pas un pro en classe mais voila ce que je pense

la classe facture correspond a une facture
cad numero, client, montant

la classe liste_facture
correspond a un tableau de facture

la methode ajouter afcture
permet d'ajouter une lement au tableau
et fait appel au construteur de facture


la methode affciher facture
parcours le tablau et appel une methops affciher de la classe afcture

la methode calculer montant
fait la somme pour le trableau de la methode get montant
de chaque facture

a mon avis c'est assez basique, faut pas aller chercher trop loin



--------------------
VIVE LE G5 BIPRO, c que du BONHEUR ... but now having fun with the new mac pro 2013
Go to the top of the page
 
+Quote Post
alocmoa
posté 11 Aug 2004, 11:27
Message #3


Adepte de Macbidouille
*

Groupe : Membres
Messages : 84
Inscrit : 12 Nov 2003
Lieu : Saint Etienne
Membre no 11 577



Merci, plus ca va et plus ca devient clair...

@++ !!!!


--------------------
imac G4 combo 800, HP Deskjet 5150, lecteur disquette Mitsumi, Panther, microsoft officeX, Mail, .........
Go to the top of the page
 
+Quote Post
schlum
posté 11 Aug 2004, 12:57
Message #4


Terminaltor
Moderating Machine
*****

Groupe : Admin
Messages : 24 449
Inscrit : 25 Oct 2002
Lieu : Jeumont (59)
Membre no 4 319



Attention avec une liste ... Le problème c'est que c'est à dimension finie ... Donc je suggère soit d'utiliser une liste chaînée, soit une liste de pointeurs sur Facture avec des realloc ...


--------------------
          I think therefore I Mac          
Go to the top of the page
 
+Quote Post
Driden
posté 11 Aug 2004, 13:19
Message #5


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 318
Inscrit : 7 May 2003
Lieu : Ile de France (92)
Membre no 7 472



Si tu fais du C++, utilises les conteneurs de la STL.


--------------------

@+ Driden
Go to the top of the page
 
+Quote Post
No6
posté 11 Aug 2004, 13:27
Message #6


Oui ?
*****

Groupe : Membres
Messages : 3 889
Inscrit : 24 Jun 2003
Lieu : BZH
Membre no 8 224



Salut,
Pour moi, c'et toujours la structure des données qui commande.
tu as 2 classes de base:
une pour les clients
une autre pour les factures.
qu'importe la façon dont les données sont stockées, en SGBD, en pile, en séquentiel indexé, cela n'est pas le pb.
Ensuite tu peux avoir des surClasses comme "Liste Facture" qui se serviront des 2 classes de bases.

Au passage, les méthodes Affichier_Facture et Montant_Total peuvent avoir en argument optionnel le N° de Client.

vala, si ça peut t'aider, faut essayer d'être simple cool.gif

Ce message a été modifié par No6 - 11 Aug 2004, 14:18.


--------------------
"Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas sûr que vous réalisiez que ce que vous avez entendu n'est pas ce que je pense."
(Alan Greenspan)
Go to the top of the page
 
+Quote Post
schlum
posté 11 Aug 2004, 13:49
Message #7


Terminaltor
Moderating Machine
*****

Groupe : Admin
Messages : 24 449
Inscrit : 25 Oct 2002
Lieu : Jeumont (59)
Membre no 4 319



Voilà un exemple qui marche, mais assez peu optimisé (les listes chaînées c'est assez lourd parfois ...)

CODE
#include <iostream.h>
#include <string.h>

class Facture {
private:
 int num_facture;
 int num_client;
 char *descriptif;
 float montant;

public:
 Facture(int nf,int nc,char *d,float m) {
   num_facture = nf;
   num_client = nc;
   descriptif = new char[strlen(d)+1];
   strcpy(descriptif,d);
   montant = m;
 }

 ~Facture() {
   delete descriptif;
 }

 void afficher() {
   cout<<"\n\nFacture numéro "<<num_facture<<" : "<<descriptif<<"\n";
   cout<<"Numéro du client : "<<num_client<<'\n';
   cout<<"Montant : "<<montant<<'\n';
 }

};

struct listechain {
 Facture *fact;
 struct listechain *suiv;
};

class ListeFactures {
private:
 listechain *deb;
 listechain *fin;
 int num;
 float tot;
public:
 ListeFactures() {
   deb = fin = NULL;
   num = 0;
 }

 ~ListeFactures() {
   listechain *tmp;
   for(listechain *pt = deb;pt;) {
tmp = pt->suiv;
     delete pt->fact;
     delete pt;
     pt = tmp;
   }
 }

 void AjouterFacture(int nc,char *d,float m) {
   Facture *f = new Facture(++num,nc,d,m);
   listechain *l = new listechain;
   l->fact = f;
   l->suiv = NULL;
   if(!fin)
     fin = deb = l;
   else {
     fin->suiv = l;
     fin = l;
   }
   tot += m;
 }

 void AfficherFactures() {
   for(listechain *pt = deb;pt;pt=pt->suiv)
     pt->fact->afficher();
 }

float MontantTotal() {
   return tot;
 }

};

int main() {
 ListeFactures l;
 l.AjouterFacture(12,"Test de facture",10.125);
 l.AjouterFacture(78,"Deuxième facture",76.3);
 l.AjouterFacture(32,"Encore un essai",5.4);
 l.AfficherFactures();
 cout<<"\n\n\nTotal : "<<l.MontantTotal()<<'\n';
 return 0;
}


--------------------
          I think therefore I Mac          
Go to the top of the page
 
+Quote Post
Driden
posté 11 Aug 2004, 14:04
Message #8


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 318
Inscrit : 7 May 2003
Lieu : Ile de France (92)
Membre no 7 472



Les listes chainés c'est bien en C en C++ tu as les arrays pour ça.


--------------------

@+ Driden
Go to the top of the page
 
+Quote Post
kakace
posté 11 Aug 2004, 14:20
Message #9


Macbidouilleur d'argent !
***

Groupe : Membres
Messages : 614
Inscrit : 15 Mar 2003
Lieu : Perdu en beauce
Membre no 6 698



En C++, il y a surtout plein de trucs qui prennent du temps pour ne rien faire, ou si peu. Dans le genre "tuer une mouche avec un char d'assaut", on fait difficilement mieux.
J'exècre la STL rien que pour ça.


--------------------
G4 MDD 2x1.25 - RAID-1 250 Go SATA + 250 Go ATA-100 - 2 Go RAM - GeForce 4Ti - 17" ADC - SuperDrive
AluBook 15" 1.25 - 80 Go - 1 Go RAM - Combo
MacPro 2008 8x2.8 - Apple RAID 0+1 4x750 Go + 500 Go SATA + SR3610 RAID-1 2x500 Go - 10 Go RAM - NVidia 8800 GT + ACD 23"
Go to the top of the page
 
+Quote Post
alocmoa
posté 11 Aug 2004, 15:45
Message #10


Adepte de Macbidouille
*

Groupe : Membres
Messages : 84
Inscrit : 12 Nov 2003
Lieu : Saint Etienne
Membre no 11 577



Merci Schlum pour le bout de code ... ca va me débloquer pas mal dejà ...

Ca va déjà mieux ...

Un sincère merci pour l'aide !

Je v regarder le code et le tester...


--------------------
imac G4 combo 800, HP Deskjet 5150, lecteur disquette Mitsumi, Panther, microsoft officeX, Mail, .........
Go to the top of the page
 
+Quote Post
schlum
posté 11 Aug 2004, 17:07
Message #11


Terminaltor
Moderating Machine
*****

Groupe : Admin
Messages : 24 449
Inscrit : 25 Oct 2002
Lieu : Jeumont (59)
Membre no 4 319



QUOTE(Driden @ 11 Aug 2004, 15:04)
Les listes chainés c'est bien en C en C++ tu as les arrays pour ça.
[right][snapback]806397[/snapback][/right]

Jamais utilisé ... Je trouve ça assez inutile toutes ces grosses librairies ; autant faire du C, puis passer au Java et / ou Objective-C en sautant l'étape C++ (que j'ai appris mais jamais aimé et utilisé régulièrement en fait tongue.gif )


--------------------
          I think therefore I Mac          
Go to the top of the page
 
+Quote Post
dulrich
posté 11 Aug 2004, 17:11
Message #12


Méchant modérateur paranoïaque
*****

Groupe : Modérateurs
Messages : 10 755
Inscrit : 24 Jan 2002
Lieu : Confoederatio Helvetica, Kanton Wallis
Membre no 1 865



moi la même chose... j'ai fais du C .... et un peu e C++... mais je voispas trop l'utilité de ce dernier. Pour l'objet c'est Obj-C ou java.


--------------------
Nothing Else Matters
Go to the top of the page
 
+Quote Post
Driden
posté 11 Aug 2004, 17:11
Message #13


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 318
Inscrit : 7 May 2003
Lieu : Ile de France (92)
Membre no 7 472



QUOTE(schlum @ 11 Aug 2004, 18:07)
QUOTE(Driden @ 11 Aug 2004, 15:04)
Les listes chainés c'est bien en C en C++ tu as les arrays pour ça.
[right][snapback]806397[/snapback][/right]

Jamais utilisé ... Je trouve ça assez inutile toutes ces grosses librairies ; autant faire du C, puis passer au Java et / ou Objective-C en sautant l'étape C++ (que j'ai appris mais jamais aimé et utilisé régulièrement en fait tongue.gif )
[right][snapback]806634[/snapback][/right]

Ouais mais le C++ c'est pas du C, faut arreter de vouloir tout mélanger apres on se retrouve avec du n'importe quoi (je dis pas ça pour toi).


--------------------

@+ Driden
Go to the top of the page
 
+Quote Post
schlum
posté 11 Aug 2004, 17:13
Message #14


Terminaltor
Moderating Machine
*****

Groupe : Admin
Messages : 24 449
Inscrit : 25 Oct 2002
Lieu : Jeumont (59)
Membre no 4 319



QUOTE(Driden @ 11 Aug 2004, 18:11)
QUOTE(schlum @ 11 Aug 2004, 18:07)
QUOTE(Driden @ 11 Aug 2004, 15:04)
Les listes chainés c'est bien en C en C++ tu as les arrays pour ça.
[right][snapback]806397[/snapback][/right]

Jamais utilisé ... Je trouve ça assez inutile toutes ces grosses librairies ; autant faire du C, puis passer au Java et / ou Objective-C en sautant l'étape C++ (que j'ai appris mais jamais aimé et utilisé régulièrement en fait tongue.gif )
[right][snapback]806634[/snapback][/right]

Ouais mais le C++ c'est pas du C, faut arreter de vouloir tout mélanger apres on se retrouve avec du n'importe quoi (je dis pas ça pour toi).
[right][snapback]806640[/snapback][/right]

Sisi, ça me correspond tout à fait laugh.gif En fait, je fais pas de C++, je fais du C avec des classes et quelques cin, cout de temps en temps tongue.gif


--------------------
          I think therefore I Mac          
Go to the top of the page
 
+Quote Post
Driden
posté 11 Aug 2004, 17:16
Message #15


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 318
Inscrit : 7 May 2003
Lieu : Ile de France (92)
Membre no 7 472



QUOTE(schlum @ 11 Aug 2004, 18:13)
Sisi, ça me correspond tout à fait  laugh.gif En fait, je fais pas de C++, je fais du C avec des classes et quelques cin, cout de temps en temps  tongue.gif
[right][snapback]806643[/snapback][/right]

Le carnage laugh.gif
Mais je te rejoinds, je prefere de loin le Java pour de la POO.


--------------------

@+ Driden
Go to the top of the page
 
+Quote Post
chombier
posté 11 Aug 2004, 20:18
Message #16


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 6 580
Inscrit : 20 Mar 2003
Membre no 6 765



QUOTE(dulrich1 @ 11 Aug 2004, 17:11)
moi la même chose... j'ai fais du C .... et un peu e C++... mais je voispas trop l'utilité de ce dernier. Pour l'objet c'est Obj-C ou java.[right][snapback]806639[/snapback][/right]

PowerPlant de MetroWerks, du temps du MacOS Classique, était la seule réelle architecture de classes qui collait parfaitement à la Toolbox du Macintosh, et faisait un large usage de l'héritage multiple, qui n'existe pas en ObjC (oublions Java pour les perfs). Le C++, comme tout langage, a ses adeptes et ses contradicteurs.
De là à dire qu'il n'a aucune utilité... huh.gif


--------------------
késtananafout' (:
Go to the top of the page
 
+Quote Post
ycarry
posté 11 Aug 2004, 22:14
Message #17


Macbidouilleur d'argent !
***

Groupe : Membres
Messages : 766
Inscrit : 15 Aug 2003
Lieu : France
Membre no 9 060



[précautions oratoires] si je gêne, je sors tout de suite, je veux pas m'immiscer dans le cercle des programmeurs [/précautions oratoires] cool.gif .
QUOTE
Dans le genre "tuer une mouche avec un char d'assaut", on fait difficilement mieux.

Pour un application de ce type, pourquoi ne pas utiliser 4D ou FileMaker (ou plus simple même) ? C'est une simple lecture/écriture d'une base de données 'factures'…
dans le cas qui est décrit, pourquoi utiliser le C ? unsure.gif

Criez pas, je suis déjà plus là biggrin.gif


--------------------
Best free 3D modeler: Wings3D
Go to the top of the page
 
+Quote Post
schlum
posté 11 Aug 2004, 22:28
Message #18


Terminaltor
Moderating Machine
*****

Groupe : Admin
Messages : 24 449
Inscrit : 25 Oct 2002
Lieu : Jeumont (59)
Membre no 4 319



QUOTE(ycarry @ 11 Aug 2004, 23:14)
[précautions oratoires] si je gêne, je sors tout de suite, je veux pas m'immiscer dans le cercle des programmeurs [/précautions oratoires]  cool.gif .
QUOTE
Dans le genre "tuer une mouche avec un char d'assaut", on fait difficilement mieux.

Pour un application de ce type, pourquoi ne pas utiliser 4D ou FileMaker (ou plus simple même) ? C'est une simple lecture/écriture d'une base de données 'factures'…
dans le cas qui est décrit, pourquoi utiliser le C ? unsure.gif

Criez pas, je suis déjà plus là biggrin.gif
[right][snapback]806932[/snapback][/right]

Et pourquoi pas en excel aussi tant qu'on y est tongue.gif


--------------------
          I think therefore I Mac          
Go to the top of the page
 
+Quote Post
schlum
posté 11 Aug 2004, 22:33
Message #19


Terminaltor
Moderating Machine
*****

Groupe : Admin
Messages : 24 449
Inscrit : 25 Oct 2002
Lieu : Jeumont (59)
Membre no 4 319



QUOTE(chombier @ 11 Aug 2004, 21:18)
QUOTE(dulrich1 @ 11 Aug 2004, 17:11)
moi la même chose... j'ai fais du C .... et un peu e C++... mais je voispas trop l'utilité de ce dernier. Pour l'objet c'est Obj-C ou java.[right][snapback]806639[/snapback][/right]

PowerPlant de MetroWerks, du temps du MacOS Classique, était la seule réelle architecture de classes qui collait parfaitement à la Toolbox du Macintosh, et faisait un large usage de l'héritage multiple, qui n'existe pas en ObjC (oublions Java pour les perfs). Le C++, comme tout langage, a ses adeptes et ses contradicteurs.
De là à dire qu'il n'a aucune utilité... huh.gif
[right][snapback]806822[/snapback][/right]

C'est pas vraiment qu'il n'a aucune utilité ... Plutôt qu'il n'apporte pas grand chose par rapport au C ... Pour les classes, c'est un peu touffu (est-ce qu'il existe une API claire quelque-part ? unsure.gif ) et le fait de garder la compatibilité du C empêche un peu la gestion des objets d'être simple et pratique.


--------------------
          I think therefore I Mac          
Go to the top of the page
 
+Quote Post
Driden
posté 11 Aug 2004, 22:33
Message #20


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 318
Inscrit : 7 May 2003
Lieu : Ile de France (92)
Membre no 7 472



QUOTE(schlum @ 11 Aug 2004, 23:28)
Et pourquoi pas en excel aussi tant qu'on y est  tongue.gif
[right][snapback]806949[/snapback][/right]


Tu sors laugh.gif


--------------------

@+ Driden
Go to the top of the page
 
+Quote Post
chombier
posté 11 Aug 2004, 22:50
Message #21


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 6 580
Inscrit : 20 Mar 2003
Membre no 6 765



QUOTE(schlum @ 11 Aug 2004, 22:33)
C'est pas vraiment qu'il n'a aucune utilité ... Plutôt qu'il n'apporte pas grand chose par rapport au C ... Pour les classes, c'est un peu touffu (est-ce qu'il existe une API claire quelque-part ?  unsure.gif ) et le fait de garder la compatibilité du C empêche un peu la gestion des objets d'être simple et pratique.[right][snapback]806958[/snapback][/right]

Un bête exemple de ce qu'apporte l'héritage multiple: les classes broadcaster et listener.

Une fois que tu comprends comment un langage orienté objet comme le C++ fonctionne, tu peux faire de même dans ta tête et pondre du code procédural quasi-identique en C, malheureusement surtout si tu maîtrises déjà le C. Mais l'inverse est impossible, et c'est bien le C++ qui t'aura appris à mieux coder.

STL est lourd, je suis tout à fait d'accord, mais ce n'est qu'une librairie. Le langage lui-même est extrêment performant.


--------------------
késtananafout' (:
Go to the top of the page
 
+Quote Post
schlum
posté 12 Aug 2004, 06:26
Message #22


Terminaltor
Moderating Machine
*****

Groupe : Admin
Messages : 24 449
Inscrit : 25 Oct 2002
Lieu : Jeumont (59)
Membre no 4 319



QUOTE(chombier @ 11 Aug 2004, 23:50)
QUOTE(schlum @ 11 Aug 2004, 22:33)
C'est pas vraiment qu'il n'a aucune utilité ... Plutôt qu'il n'apporte pas grand chose par rapport au C ... Pour les classes, c'est un peu touffu (est-ce qu'il existe une API claire quelque-part ?  unsure.gif ) et le fait de garder la compatibilité du C empêche un peu la gestion des objets d'être simple et pratique.[right][snapback]806958[/snapback][/right]

Un bête exemple de ce qu'apporte l'héritage multiple: les classes broadcaster et listener.

Une fois que tu comprends comment un langage orienté objet comme le C++ fonctionne, tu peux faire de même dans ta tête et pondre du code procédural quasi-identique en C, malheureusement surtout si tu maîtrises déjà le C. Mais l'inverse est impossible, et c'est bien le C++ qui t'aura appris à mieux coder.

STL est lourd, je suis tout à fait d'accord, mais ce n'est qu'une librairie. Le langage lui-même est extrêment performant.
[right][snapback]806975[/snapback][/right]

Pour bien comprendre l'objet, il paraît qu'il faut commencer par un vrai langage objet genre Eiffel ou SmallTalk wink.gif


--------------------
          I think therefore I Mac          
Go to the top of the page
 
+Quote Post
deselegies
posté 12 Aug 2004, 08:14
Message #23


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 313
Inscrit : 22 Jul 2003
Membre no 8 713



QUOTE(schlum @ 12 Aug 2004, 07:26)
Pour bien comprendre l'objet, il paraît qu'il faut commencer par un vrai langage objet genre Eiffel ou SmallTalk  wink.gif


De toute facon, en C ou en C++ il y a toujours possibilite de coder comme un Porc.
Je ne pense pas que SmallTalk ou Eiffel apporte plus de protection , le Gros Gruik trouvera toujours sa voie.
Pour ma part je pense que pour bien comprendre l'objet, il faut juste regarder le monde de tous les jours et raisonner en "boite noire" qui rend des services.
Le Langage importe peu en fait, java, c++, ou objective C, le plus important est la bonne comprehension des mechanismes de base et une surtout bonne Conception.
Des methodes existent pour nous aider dans nos tache quotidiennes mais malheureusement les outils ne sont pas dispo sur notre plate-forme.
XCode integrera un outils de modelisation mais est-ce que ce sera juste de la visualisation ou bien permettra t'il la conception ? mystere et boule de gomme.

Je reve d'un Rational Rose sur Mac ...

JC




--------------------
Switcher since 11/2002
Papa since 09/2004 upgraded 01/2008
Go to the top of the page
 
+Quote Post
apprenti bidouil...
posté 12 Aug 2004, 09:01
Message #24


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 049
Inscrit : 25 Jan 2003
Lieu : Avranches, 50
Membre no 5 837



QUOTE(deselegies @ 12 Aug 2004, 09:14)

XCode integrera un outils de modelisation mais est-ce que ce sera juste de la visualisation ou bien permettra t'il la conception ? mystere et boule de gomme.



uniquement visualisation wink.gif


--------------------
Go to the top of the page
 
+Quote Post
deselegies
posté 12 Aug 2004, 09:11
Message #25


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 313
Inscrit : 22 Jul 2003
Membre no 8 713



QUOTE(apprenti bidouille @ 12 Aug 2004, 10:01)
uniquement visualisation wink.gif
[right][snapback]807174[/snapback][/right]

Ouinnnnnnnnnn, Snif comment pourrir une journee. biggrin.gif

Bon allez on va dire que c'est la premiere version et que par la suite on pourra modeliser avec XCode. sad.gif

Hein dit Steve, un petit effort. tongue.gif

Bon j'irais voir au Stand Apple pour faire du lobbying.
Si jamais on avait un soft de modelisation potable sur Mac, on pourrait assister a du Switch de grande envergure pour les projets de developement Java.

JC


--------------------
Switcher since 11/2002
Papa since 09/2004 upgraded 01/2008
Go to the top of the page
 
+Quote Post
Bac's
posté 12 Aug 2004, 10:43
Message #26


Tendance cubiste
*****

Groupe : Membres
Messages : 1 595
Inscrit : 17 Sep 2003
Lieu : Là où ce qui tombe des arbres à l'automne commence par 'F' et finit par 'n'
Membre no 9 643



Bon, il faudrait qu'allocmoa nous dise quel est le but de son application.

Si c'est juste un travail scolaire, je ne vois aucun souci à implémenter sa classe LIstesFactures avec les méthodes qu'elle a décrites en utilisant un conteneur de la STL. Elle montrera ainsi qu'elle n'a pas ré-inventé l'eau chaude et qu'elle a bien masqué l'implémentation interne (on ne déroge pas ainsi au principe d'encapsulation).

Si c'est une application qui n'a pas de trop grosses contraintes de performances, on peut aussi utiliser la STL. Le jour où il faudra optimiser, on pourra toujours remplacer le conteneur interne par autre chose.


--------------------
G5 1,6GHz 1 270Mo RAM OS/X 10.4.1 + STHome Hyper-Bidouillé

C'est à force de rater que l'on finit par réussir. Devise Shadok.


[Editus moderatus]Plus de bannières merci... [Editus Bacsus]Oui chef, bien chef !
Go to the top of the page
 
+Quote Post
SuperCed
posté 13 Aug 2004, 16:01
Message #27


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 831
Inscrit : 19 Jul 2001
Lieu : Живим у Греноблу
Membre no 519



Je suis un peu comme Schlum et Dulrich, j'aime bien le C, java, ou ObjectiveC, mais pas trop le C++.

Je n'aime pas l'héritage multiples, surtout au moment des free... En fait, il faut faire du reference counting, comme en ObjectiveC, sauf qu'en C++, on doit implémenter son propre système de reference counting en tenant compte du fait que le code peut-être multithread par la suite. Donc ça implique des locks et ça complique encore. En ObjectiveC, tout est déjà fait. Java, c'est encore mieux, on laisse tout trainer en mémoire et on laisse faire l'interpréteur.
Voilà pourquoi j'aime pas l'héritage multiple.

Après, en C++, j'aime pas les templates, je trouve que le code est facilement illisible et complexe. Aie, yaura bientôt la possibilité de faire ça en Java...

En C++, j'aime pas la surcharge d'opérateur, c'est l'embrouille totale, et pareil, c'est parfois difficile à lire.

En C++, j'aime bien le principe d'héritage comme en Java ou ObjectiveC d'ailleurs. C'est la seule chose que j'apprécie vraiment en langage objet, le fait de dériver d'autres classes, et d'implémenter quelques méthodes, c'est très pratique pour les interface graphiques par exemple.

J'aime bien utiliser les listes chaînées en C, et controller exactement mes allocations, allouer directement des octets sans passer par des niveau d'abstraction qui rendent parfois abscon le principe du projet.



--------------------
Хајде Јано коло да играмо
iMac 27 mi 2010
Macbook air mi 2011
Mac Mini M1
Go to the top of the page
 
+Quote Post
alocmoa
posté 13 Aug 2004, 19:44
Message #28


Adepte de Macbidouille
*

Groupe : Membres
Messages : 84
Inscrit : 12 Nov 2003
Lieu : Saint Etienne
Membre no 11 577



Bonjour ,

Oui, mon sujet est un "travail scolaire"... je delandais juste qq idées et pas me faire mon sujet ....

Je vous remercie tous pour l'aide que vous m'avez donné.

@++

Alocmoa


--------------------
imac G4 combo 800, HP Deskjet 5150, lecteur disquette Mitsumi, Panther, microsoft officeX, Mail, .........
Go to the top of the page
 
+Quote Post
chombier
posté 15 Aug 2004, 21:49
Message #29


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 6 580
Inscrit : 20 Mar 2003
Membre no 6 765



QUOTE(SuperCed @ 13 Aug 2004, 16:01)
Je suis un peu comme Schlum et Dulrich, j'aime bien le C, java, ou ObjectiveC, mais pas trop le C++.

Je n'aime pas l'héritage multiples, surtout au moment des free... En fait, il faut faire du reference counting, comme en ObjectiveC, sauf qu'en C++, on doit implémenter son propre système de reference counting en tenant compte du fait que le code peut-être multithread par la suite. Donc ça implique des locks et ça complique encore. En ObjectiveC, tout est déjà fait. Java, c'est encore mieux, on laisse tout trainer en mémoire et on laisse faire l'interpréteur.
Voilà pourquoi j'aime pas l'héritage multiple.

blink.gif j'ai bouffé du C++ pendant 10 ans, héritage multiple compris, et je n'ai jamais fait de 'reference counting' !? c'est quoi ça ? Tu ne confonds pas avec l'ObjC et son garbage collector ?
QUOTE
Après, en C++, j'aime pas les templates, je trouve que le code est facilement illisible et complexe. Aie, yaura bientôt la possibilité de faire ça en Java...

Là encore, c'est une histoire de goût. Les Templates, c'est un niveau d'abstraction supplémenatire par rapport aux classes virtuelles pures. J'adoore. smile.gif
QUOTE
En C++, j'aime pas la surcharge d'opérateur, c'est l'embrouille totale, et pareil, c'est parfois difficile à lire.

C'est le propre des langages objets. Si lorsque tu crées une nouvelle classe, tu ne peux l'additionner par '+', ce n'est pas un langage objet.


--------------------
késtananafout' (:
Go to the top of the page
 
+Quote Post
alocmoa
posté 17 Aug 2004, 12:53
Message #30


Adepte de Macbidouille
*

Groupe : Membres
Messages : 84
Inscrit : 12 Nov 2003
Lieu : Saint Etienne
Membre no 11 577



Bonjour !

Bon, j'ai fait tout mon alog, tout fonctionne avec une programme de test sauf une chose.... j'ai une methode qui ne passe pas mais qui à la compilation ne me fait aucune erreur..... avec le programme de test j'ai un "iterateur invalide".... j'ai beau chercher.... je vois pas le souci...

Je peux fournir mes codes sources, à la limite si ca vous dit de jeter un oeil, demandez les moi par mail ...

Merci bcp!

Alocmoa


--------------------
imac G4 combo 800, HP Deskjet 5150, lecteur disquette Mitsumi, Panther, microsoft officeX, Mail, .........
Go to the top of the page
 
+Quote Post

2 Pages V   1 2 >
Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 25th April 2024 - 17:57