Bonjour � tous,![]()
Je voudrais savoir comment d�finir correctement des constantes dans une classe de tel fa�on que chaque objet de cette classe est cette vealeur constante.
Je m'explique, je voudrais que l'attribut "Cout" soit une valeur constante de la classe "Noeud".
Donc j'ai d�finit la classe suivante dans Noeud.h:
et voici l'impl�mentaton de cette m�me classe dans "Noeud.cpp":
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
24 class Noeud { public : //Constructeur Noeud(int k); //Accesseurs int get_Num(); bool get_Etat(); //Modificateur void set_Etat(bool a); void afficher(); protected : //Attributs d'un Noeud const int Num; //Num�ro du Noeud static const float Cout; //Cout du Noeud bool Etat; }; #endif
Code : S�lectionner tout - Visualiser dans une fen�tre � part //Constructeur
Comme on peut voir "Cout = Mat_EXC + Mat_OXC + Site_Noeud", et donc l'initialisation de la variable "Cout" se fait lors de la cr�ation de l'objet et est d�finit gr�ce � l'impl�mentation dans "Noeud.cpp".
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 Noeud::Noeud(int k) { Num = k; //Description des diff�rents couts float Mat_EXC = 20.44; float Mat_OXC = 10.78; float Site_Noeud = 7.67; Cout = Mat_EXC + Mat_OXC + Site_Noeud; } //Accesseurs int Noeud::get_Num() {return Num;} bool Noeud::get_Etat() {return Etat;} //Modificateur //void Noeud::set_Num(int a) {Num = a;} void Noeud::set_Etat(bool a) {Etat = a;} void Noeud::afficher() { cout << "N[" << Num << "] = " << Etat << endl; }
Est il possible d'�crire:
ou quelque chose du genre dans mon fichier "Noeud.h" ou "Noeud".cpp
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5 float Mat_EXC = 20.44; float Mat_OXC = 10.78; float Site_Noeud = 7.67; static const float Cout = Mat_EXC + Mat_OXC + Site_Noeud;
Mon probl�me est que j'ai appris le JAVA avant de me lancer dans le C++ et j'ai donc du mal � saisir le principe d'�criture de classe en C++.
Merci de pouvoir m'�clairer.
Partager