Utilisation de stuct pour déclarer une classe

Soyez le premier à donner votre avis sur cette source.

Snippet vu 2 456 fois - Téléchargée 35 fois

Contenu du snippet

Un simple exemple de classe déclarée grâce au mot clefs struct.
Mais il montre tout de même assez bien l'utilisation de cette classe.

Source / Exemple :


// Voici un exemple de classe déclarée avec struct

#include <iostream.h>

struct Programmeur {
  // Variables membres(donnés membres)
  string m_strPseudo;
  string m_strGroupe;
  double m_dNombre_programmeur; 

  // Fonctions membres
  void SetPseudo(string Pseudo);
  void SetGrp( string groupe);
  void SetNmb(double nmb_proggeur);
  string GetNom();
  string GetGrp();
  double GetNmb();
};

void main()
{
// Déclare une variable de type Programmeur nommé prgProggeurz qui est 
// un objet contenant les membres énumérés dans la déclaration struct
Programmeur prgProggeurz; 

// Montre comment appelé des foncions membre de l'objet
prgProggeurz.SetPseudo("D1m3x");
prgProggeurz.SetGrp("Les darkproggeur");
prgProggeurz.SetNmb("3");

// Va écrire les quatres phrase entre guillemets et les valeurs des fontions
// membres de l'objet.
cout<<"Le Pseudo de ce programmeur: "<<prgProggeurz.GetNom()<<endl;
cout<<"Le groupe de ce programmeur: "<<prgProggeurz.GetGrp()<<endl;
cout<<"Nomnbres de programmeurs dans le groupe: "<<prgProggeurz.GetNmb()<<endl;
cout<<"Fin du programme!"<<endl<<endl;
}

Conclusion :


Ce programme fut compilé avec Visual C++ 6.0.

A voir également

Ajouter un commentaire

Commentaires

superpa
Messages postés
113
Date d'inscription
lundi 24 février 2003
Statut
Membre
Dernière intervention
5 janvier 2004
-
Slt, c'est encore moi. J'ai une ou deux précisions à ajouter:
L'idée des accesseurs(get et set) est intéressante, mais un peu inutile. En effet, par défaut dans une struct (et c'est la seule différence avec une classe) tous les membres sont public => tu peux accéder aux var membres directement: prgProggeurz.m_dNombre_programmeur = 3;
Pour les rendre utiles, il faudrait déclarer les var en private (ou mieux protected) et les accesseurs en, public.
Encore: string n'existe pas dans le C++ de base. Il y a CString avec MFC ou std::string dans la stl (Standard Template Library). Pour utiliser la dernière (utilisable aussi avec les autres compilateurs): il faut
include <string> attention, pas de .h
1) soit déclarer std::string Nom (std:: fait référence à un namespace)
2) soit écrire using namespace std et déclarer string Nom
3) soit encore faire: typedef std::string string et déclarer string Nom
Enfin très étonnant, l'implémentation des accesseurs n'est pas fournies !!!
A bientôt
superpa
Messages postés
113
Date d'inscription
lundi 24 février 2003
Statut
Membre
Dernière intervention
5 janvier 2004
-
J'ai oublié une reamrque: c'est du niveau 1!
D1m3x
Messages postés
402
Date d'inscription
samedi 28 décembre 2002
Statut
Membre
Dernière intervention
21 juillet 2005
1 -
lol, ok je savai pas kel nivo metre alor g pri e nivo 2 :)
Meercie ncore une foi pour tous ces conseil

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.