Attribut partageable par les méthodes
nad
-
nad -
nad -
Bonjour,
Comment déclarer un attribut dans une classe pour que sa valeur soit modifiable par toutes les méthodes d'une classe et il se réinitialise pour les autres instances de cette classe ?
J'ai essayé de le déclarer static, mais le problème est que sa valeur devient partagée par toutes les instances de la classe ce qui n'est pas ce qui est demandé.
Merci pour votre aide.
Comment déclarer un attribut dans une classe pour que sa valeur soit modifiable par toutes les méthodes d'une classe et il se réinitialise pour les autres instances de cette classe ?
J'ai essayé de le déclarer static, mais le problème est que sa valeur devient partagée par toutes les instances de la classe ce qui n'est pas ce qui est demandé.
Merci pour votre aide.
A voir également:
- Attribut partageable par les méthodes
- Attribut changer - Télécharger - Divers Utilitaires
- Dans son restaurant, igor utilise une application pour gérer les réservations. dans le schéma (structure) de la base de données de l’application représenté ci-dessous : de quoi « telephone » est-il le nom ? de quoi « reservations » est-il le nom ? associez chaque terme avec un attribut, une donnée, un enregistrement, une table, une valeur ou une variable. - Forum Webmastering
- Méthodes de déverrouillage de téléphone - Guide
- Dans le document à télécharger, léa a utilisé 2 méthodes différentes pour centrer le nom des continents. lesquels sont centrés correctement ? ✓ - Forum Excel
- Amandine utilise une application pour gérer les inscriptions aux activités de son club. dans le schéma (structure) de la base de données de l’application représenté ci-dessous : de quoi « telephone » est-il le nom ? de quoi « inscriptions » est-il le nom ? associez chaque terme avec un attribut, une donnée, un enregistrement, une table, une valeur ou une variable. - Forum Loisirs / Divertissements
2 réponses
Bonsoir,
Quel langage utilises-tu ?
Normalement en utilisant un attribut normal, il est visible par toutes les méthodes de la classe, appartient à l'instance courante (donc si tu crées une seconde instance, son attribut aura une autre valeur).
Cordialement,
Quel langage utilises-tu ?
Normalement en utilisant un attribut normal, il est visible par toutes les méthodes de la classe, appartient à l'instance courante (donc si tu crées une seconde instance, son attribut aura une autre valeur).
Cordialement,
Tu dois avoir fait une erreur, je ne sais pas où... Regarde un peu le code suivant : l'attribut est bien relatif à l'instance :
Dis-moi donc la différence entre ton code et le mien, qu'on découvre d'où vient le problème.
Cordialement,
Fichier Compteur.cpp :
class Compteur {
int valeur;
public:
Compteur(){}
Compteur(int valeur):valeur(valeur){}
~Compteur(){}
void incremente() {valeur++;}
int getValeur() {return valeur;}
};
Fichier main.cpp :
#include <cstdlib>
#include <iostream>
#include "Compteur.cpp"
using namespace std;
int main(int argc, char *argv[])
{
Compteur *c1 = new Compteur(2);
c1->incremente(); //l'attribut valeur de c1 vaut 3
std::cout<<c1->getValeur()<<std::endl;
Compteur *c2 = new Compteur(5);
c2->incremente(); //l'attribut valeur de c2 vaut 6
std::cout<<c2->getValeur()<<std::endl;
c1->incremente(); //l'attribut valeur de c1 vaut 4
std::cout<<c1->getValeur()<<std::endl;
delete c1;
delete c2;
system("PAUSE");
return EXIT_SUCCESS;
}
Dis-moi donc la différence entre ton code et le mien, qu'on découvre d'où vient le problème.
Cordialement,
bonjour ,
moi j'ai presque ça:
dans Compteur.h:
class Compteur : public A{
int val;
}
Dans compteur.cc j'ai:
int nombre;
compteur::compteur(int val):A
{}
void init()
{nombre=0;}
void incrementer()
{nombre ++}
et puis il y a d'autres classes qui vont appeler Compteur suivant des valeurs différentes de val.
merci de ton aide.
moi j'ai presque ça:
dans Compteur.h:
class Compteur : public A{
int val;
}
Dans compteur.cc j'ai:
int nombre;
compteur::compteur(int val):A
{}
void init()
{nombre=0;}
void incrementer()
{nombre ++}
et puis il y a d'autres classes qui vont appeler Compteur suivant des valeurs différentes de val.
merci de ton aide.
j'utilise c++ et lorsque j'utilise un attribut normal sa valeur reste partageable par toutes les instances .
En principe ton attribut n'est partagé entre toutes tes classes que s'il est static, c'est pour ça que j'aimerais voir ce qui cloche.
Cordialement,
Lors de l'exécution, il va y avoir plusieurs entiers, chacun d'eux va etre le paramètre de ma classe ,qui va etre donc appelée en parallèle par ces différents entiers.
Ce qui arrive est que par exemple , lors du premier appel de la classe mon attribut sort avec la valeur 2 par exemple, pour le second appel de cette classe par un 2ème entier mon attribut s'incrémente et devient 3, or je veux qu'il soit indépendant de la valeur qu'il a eu avec le premier entier.