[Winform c++] Problème utilisation de class

Signaler
Messages postés
2
Date d'inscription
dimanche 4 avril 2010
Statut
Membre
Dernière intervention
7 avril 2010
-
Messages postés
2
Date d'inscription
dimanche 4 avril 2010
Statut
Membre
Dernière intervention
7 avril 2010
-
Bonjour,
Je suis en 2ème année de BTS IRIS et je dois faire un projet permettant de contrôler un robot.
J'ai réussi a faire des Thread, des boutons etc ...

Mais jusqu'à maintenant j'utilisais des variables globales ( déclaré dans public ref class Form1 : public System::Windows::Forms::Form ).
J'aimerais maintenant utiliser des class, pour rendre tout ceci plus propre.
Cependant cela ne marche pas !

J'ai fait ce test :

public: class bidule
{ bidule(void);
  int truc ;
}
public: bidule::bidule(void)
{
truc = 1 ;
}
 
 
// ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
// THREAD D'ENVOI
public: void Th_Envoi()
{
bidule var1();
var1.truc = 2 ; }

Th_Envoi est lancer via un boutton, et il marchait bien avec les variables globales.
La création de var1 ne pose aucun probleme, mais quand je tente d'accéder à l'attribut 'truc', il me dit que l'expression à gauche du '.' n'est pas de type class/union ...

Merci pour votre aide !

2 réponses

Messages postés
181
Date d'inscription
mardi 6 avril 2010
Statut
Membre
Dernière intervention
7 janvier 2012
9
Comme tu est dans une classe, ton attribut est forcément privé (et doit le rester), pour pouvoir y acccèder, tu dois créer une fonction publique qui modifie la valeur :


class bidule
{
public:
bidule(): truc(1) {}
void setTruc(int nb) { truc = nb; }
private:
int truc ;
};


// THREAD D'ENVOI

void Th_Envoi()
{
bidule var1();
var1.setTruc(2) ; 
}


Pop70
Messages postés
2
Date d'inscription
dimanche 4 avril 2010
Statut
Membre
Dernière intervention
7 avril 2010

Merci, j'ai réussi à résoudre ce problème !

Merci beaucoup