Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1056 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

[C++] Classes, objets, ...

n°74024
godbout
Génial.
Posté le 21-11-2001 à 11:04:53  profilanswer
 

Reprise du message précédent :
Eh ben au moins j'ai le choix avec tout ca :D
C'est vrai que les Maj/min j'aime pas trop.
Pour le reste je crois que ca va venir en programmant.

mood
Publicité
Posté le 21-11-2001 à 11:04:53  profilanswer
 

n°74025
BENB
100% Lux.
Posté le 21-11-2001 à 11:06:04  profilanswer
 

legreg a écrit a écrit :

 
personnellement je pense que c'est sale(tm)
et que ce n'est pas qu'un probleme de gout :).
 
Enfin bon.. tu dois surement etre une deesse de la programmation qui a toujours l'esprit clair quand elle attaque son code et ne fait jamais d'erreur de frappe :D
 
LEGREG  




Je comprend ta reaction, mais dans le cadre de convention edictee plus haut, ce n'est pas surhumain, et tu prends tres vite l'habitude : une majuscule en initiale donc variable de classe...
et surtout le probleme ne se pose generalement que dans les acesseurs, ce qui rends la chose tout a fait propre...
En effet Dans un contexte de noms long si temperature et Temperature se trouve dans le meme espace de nommage c'est que forcement Temperature == temperature sinon l'un au moins des deux doit etre qualifie pour devenir maxTemperature par ex.

 

[edtdd]--Message édité par BENB--[/edtdd]

n°74027
BENB
100% Lux.
Posté le 21-11-2001 à 11:08:18  profilanswer
 

Godbout a écrit a écrit :

Eh ben au moins j'ai le choix avec tout ca :D
C'est vrai que les Maj/min j'aime pas trop.
Pour le reste je crois que ca va venir en programmant.  




En fait peut importe le choix que tu fait.
Le plus important c'est de s'y tenir sur un projet
et de ne pas melanger les conventions...
le pire serait de commencer avec les m_
pour finir avec Maj/Min...

n°74029
godbout
Génial.
Posté le 21-11-2001 à 11:14:48  profilanswer
 

ben surtout que j'ai deja mes petites conventions, mais bien sur pas pour les classes encore.

n°74045
godbout
Génial.
Posté le 21-11-2001 à 11:57:35  profilanswer
 

Au fait si j'ai bien compris, une fonction en private n'a pas besoin de parametre, si on met en variable private les variables dont elle se sert ?

n°74048
BENB
100% Lux.
Posté le 21-11-2001 à 12:02:50  profilanswer
 

Godbout a écrit a écrit :

Au fait si j'ai bien compris, une fonction en private n'a pas besoin de parametre, si on met en variable private les variables dont elle se sert ?  




Ne te pose pas de questions, ne cherche pas de moyen mnemotechnique... et ca viendra tout seul...
un methode n'a de parametre que si elle a besoin d'informations exterieures a la classe a laquelle elle appartient...

n°74073
godbout
Génial.
Posté le 21-11-2001 à 13:39:49  profilanswer
 

pourtant j'ai recupere un loader 3ds fait avec des classes et toutes les fonctions private avaient des parametres, mais c'est surement parce qu'elles etaient recursives.
 
Sur ce je pars bosser ;)

n°74075
chrisbk
-
Posté le 21-11-2001 à 13:51:20  profilanswer
 

ben oui elle peuvent avoir des parametres.
 
encore heureux :D
 
Si tu veux ces des fonctions comme les autres : tu les mets en foncton pour pas avoir plusieurs fois le meme bout de code a droite a gauche . (mais ce qu'elle prenne en parametre n'a pas a etre obligatoirement stocke en variable membre, de meme qu'en C tu ne feras pas une variable globale pour t'eviter a faire des paramtres....tu me suis ?)

n°74076
godbout
Génial.
Posté le 21-11-2001 à 13:55:16  profilanswer
 

Je capte l'histoire des variables globales et des parametres (en C), mais ce qui m'embete c'est le fait que les variables private sont dispo pour toutes les fonctions de la classes, alors je vois pas a koi ca sert de passer des param.
 
et je vois pas comment les renvoyes, les reutiliser, etc..

 

[edtdd]--Message édité par Godbout--[/edtdd]

n°74078
BENB
100% Lux.
Posté le 21-11-2001 à 14:01:52  profilanswer
 

Godbout a écrit a écrit :

Je capte l'histoire des variables globales et des parametres (en C), mais ce qui m'embete c'est le fait que les variables private sont dispo pour toutes les fonctions de la classes, alors je vois pas a koi ca sert de passer des param.
 
et je vois pas comment les renvoyes, les reutiliser, etc..  
 
 




J'ai la une classe qui masque tout un module. seule elle est visible de l'exterieur, et elle grere en interne de grands tableaux, il arrive que l'on soit oblige de retrouver un index dans ce tableau depuis la valeur du tableau, mais ceci est rare et se produit toujours a l'interieur de la classe. De toute maniere l'utilisateur de la classe n'a pas a connaitre le contenu des tableaux...
int GetIndex(toto *) renvoi donc l'index de toto et est private...
 
Une vision simplifiee de l'ojet consiste a dire :
les methodes sont publiques et les donnees privees...
Donc une methode que tu rend privee est une methode que tu ne souhaite pas voir utilisee hors de ta classe, mais elle peut servir a faire des comparaisons des recherches...

 

[edtdd]--Message édité par BENB--[/edtdd]

mood
Publicité
Posté le 21-11-2001 à 14:01:52  profilanswer
 

n°74079
chrisbk
-
Posté le 21-11-2001 à 14:04:41  profilanswer
 

ben disons que parfois elles ont besoin d'autre chose que la variable private  
 
 
bon, attends que je trouve un exemple.....
 
class Interpole
{
public:
  ....
  float getInterp(float val);
 
private:
 float start, end;
 float interp(float val);
}
 
float Interpole::getInterp(float val)
{
 return interp(val);
}
 
 
float Interpole::interp(float val)
{
 return (start * (1-val) + end * (val) );
}
 
 
bon l'exemple est culcul parce que la fonction public ne fais que retourner le res de la fonction private, mais peut etre maintenant tu vois l'idee : val n'as pas besoin d'etre variable membre, elle sert trop peu (si y'a d'autre calcul plus complique pour l'interpolation, tu feras peut etre d'aure fonction private avec val comme parametre)

n°74080
El_gringo
Posté le 21-11-2001 à 14:06:59  profilanswer
 

Godbout a écrit a écrit :

Je capte l'histoire des variables globales et des parametres (en C), mais ce qui m'embete c'est le fait que les variables private sont dispo pour toutes les fonctions de la classes, alors je vois pas a koi ca sert de passer des param.
 
et je vois pas comment les renvoyes, les reutiliser, etc..  




 
Les attributs (ou variables) qui sont généralement privés, sont en effet accessibles partout dans ta classe, y a donc aucun intéret à les mettre en paramètre de tes fonctions. Mais, le variables locales, ça existe encore en objet tu sais !?

n°74081
godbout
Génial.
Posté le 21-11-2001 à 14:08:20  profilanswer
 

Godbout a écrit a écrit :

Au fait si j'ai bien compris, une fonction en private n'a pas besoin de parametre, si on met en variable private les variables dont elle se sert ?  




 
La question n'est pas la ;)
 
moi je parlais de faire
 
private:
int a;
int b;
int Somme()
 
ou  
private:
int Somme(a+b);

 

[edtdd]--Message édité par Godbout--[/edtdd]

n°74084
BENB
100% Lux.
Posté le 21-11-2001 à 14:11:27  profilanswer
 

Godbout a écrit a écrit :

 
 
La question n'est pas la ;)
 
moi je parlais de faire
 
private:
int a;
int b;
int Somme()
 
ou  
private:
int Somme(a+b);  
 
 




ben si tu n'a besoin de a et de b que dans Somme et que tu souhaite pas connaitre leur valeur anterieure lors de l'execution de Somme c'est le second choix...

n°74085
El_gringo
Posté le 21-11-2001 à 14:12:00  profilanswer
 

Godbout a écrit a écrit :

 
 
La question n'est pas la ;)
 
moi je parlais de faire
 
private:
int a;
int b;
int Somme()
 
ou  
private:
int Somme(a+b);  
 
 




 
Bah si la 2e solution pose pas de pb, faut prendre celle là.
En C aussi tu peux programmer comme un porc, et mettre toutes tes variables en global !
Le attributs (variables) de ta classe, c un peu comme des variables globales en C

n°74086
godbout
Génial.
Posté le 21-11-2001 à 14:14:19  profilanswer
 

BENB a écrit a écrit :

 
ben si tu n'a besoin de a et de b que dans Somme et que tu souhaite pas connaitre leur valeur anterieure lors de l'execution de Somme c'est le second choix...  




 
En fait en gros la fonction Somme je vais l'appeler dans une methode public Load qui va appeler elle meme la fonction Somme.
Le programme appelle juste Load avec un param et le reste se fait tout seul (normalement :D)
 
El_Gringo -> si je pose autant de questions c'est justement pour eviter de programmer comme un porc ;)

n°74094
youdontcar​e
Posté le 21-11-2001 à 14:20:55  profilanswer
 

Godbout > attention à ne pas tomber dans "l'excès" de réflexion. tu essayes de sortir une règle générale de cas particuliers qui peuvent être fonction de goût personnels ou de choix particuliers dépendant d'un contexte. essayer de trouver une "règle magique" qui marche partout dans tous les cas ne peut que te frustrer, car ça n'existe pas :)
 
les réponses précédentes t'ont déjà donné pas mal de points sur lesquels bosser. relis-les et applique-les. autre chose : lorsque j'ai commencé le c++, ça m'a énormément aidé de regarder du code déjà fini, comme les sources des mfc ou de la sdk de max. là encore ce ne sont pas des règles absolues à suivre en toutes circonstances mais des idées potentielles à appliquer dans ton code.
 
bref, tes problèmes seront résolus avec l'expérience, pas en essayant de tout comprendre d'un coup :)

n°74095
BENB
100% Lux.
Posté le 21-11-2001 à 14:22:15  profilanswer
 

GodBout > El_Gringo est un peu violent (sisi :D) mais il n'a pas tors (sur le fond en tout cas :D) si tu peux faire le 2 te semble equivalent au 1 alors fait le 2...
 
youdontcare > :jap: du pragmatisme quoi...

 

[edtdd]--Message édité par BENB--[/edtdd]

n°74102
El_gringo
Posté le 21-11-2001 à 14:28:00  profilanswer
 

BENB a écrit a écrit :

GodBout > El_Gringo est un peu violent (sisi :D) mais il n'a pas tors (sur le fond en tout cas :D) si tu peux faire le 2 te semble equivalent au 1 alors fait le 2...
 
youdontcare > :jap: du pragmatisme quoi...  
 
 




 
rohh, violent... c toi qui y va fort là ! :D

n°74103
godbout
Génial.
Posté le 21-11-2001 à 14:28:07  profilanswer
 

ok j'crois qu'on peut donc s'arreter la, sinon ca voudrait dire que je suis un cas desespere :D
 
ca va venir avec le temps
 
Merci ;)

n°74105
BENB
100% Lux.
Posté le 21-11-2001 à 14:29:26  profilanswer
 

Godbout a écrit a écrit :

ok j'crois qu'on peut donc s'arreter la, sinon ca voudrait dire que je suis un cas desespere :D
 
ca va venir avec le temps
 
Merci ;)  




Il faut aussi prendre confiance en toi...

n°74107
godbout
Génial.
Posté le 21-11-2001 à 14:30:47  profilanswer
 

BENB a écrit a écrit :

 
Il faut aussi prendre confiance en toi...  




 
euh, si c'est me dire que je suis un bon programmeur c'est pas gagne :D

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
[DJGPP] Quelle commande pour lier des fichiers objets avec LD?Déclarer des objets avec C++ Builder 4.0
Objets COM comment ça marche? C'est relativement urgent[JAVA] initialisation entre classes d'une meme hierarchie
collection d'objets en ASP[C++] Les fameuses classes
[COM/VisualC++6] générer les classes a partir d'une idlJava classes, où trouver la syntaxe d'une classe à partir de son nom .
[CSS] Les classes incompatibles avec IE6?[XML & MFC] écrire et lire un fichier XML, quelles classes MFC ?
Plus de sujets relatifs à : [C++] Classes, objets, ...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR