begin process at 2012 02 13 02:59:37
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

Fonctions Imbriquées avec argument string


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Fonctions Imbriquées avec argument string

jeudi 11 octobre 2007 à 15:08:43 | Fonctions Imbriquées avec argument string

Zakata


Bonjours,

J'esaye de programmer deux classes de menu. L'architecture est la suivantes :
Une classe Menu
class Menu
{
public:
    Menu(void);
    ~Menu(void);

    //fonctions membres
    void Display(int idMnu);
    void Display(void);
    void AddSubMnu(int idMnu,string vName);
    void AddMnu(string vName);

    //Variables
    string Name[10];
    int NbMnu;
    SubMenu SubMnu[10];
};

Une classe SubMenu
class SubMenu
{
public:
    //Constructeur et destructeur
    SubMenu(void);
    ~SubMenu(void);

    //Fonctions Membres
    void Display(void);
    void AddMenu(string vName);

    //Variables membres
    string    Name[10];                //Nom du menu
    int NbMnu;
};

avec :
void SubMenu::AddMenu(string vName)
{
    Name[NbMnu] = vName;
    NbMnu +=1;

    if(NbMnu>9)
        NbMnu=9;
}
et :
void Menu::AddSubMnu(int idMnu, string vName)
{
    Mnu[idMnu].AddMenu(vName);
}

si je fais :
int main(void)
{
    Menu Mnu;
    SubMenu  m;
    m.AddMenu("Chaine");                Ok Ca marche
    Mnu.AddSubMnu(2,"Chaine");     Ca ne marche pas -> Une exeption est crée

    return 0;
}

En gros lorsque j'appelle la fonction AddMenu de la classe SubMenu directement ca marche mais si je fais un appelle a cette même fonction par l'intermédiaire de la classe Menu ca marche plus ??????
J'ai remplacer les string par des int pour voir ce que cela donnait, et la ca marche. Quelqu'un pourais t il m'aider ??

Merci
Damien

*Les fautes d'orthographes jointes à la présente missive, sont la propriété exclusive de l'auteur. Toute copie illégale pourra être passive de poursuites judiciaires, et soumises à des peines et sanctions exemplaires
jeudi 11 octobre 2007 à 17:28:50 | Re : Fonctions Imbriquées avec argument string

luhtor

void Menu::AddSubMnu(int idMnu, string vName)
{
    Mnu[idMnu].AddMenu(vName);
}


Le membre Mnu n'existe pas dans la classe Menu, c'est quoi ?

Je me permets une remarque, un sous-menu EST aussi un menu. Donc distinguer "Menu" et "Sous-Menu" ne me parait pas adapté. La classe SubMenu ne devrait pas exister.
jeudi 11 octobre 2007 à 17:55:58 | Re : Fonctions Imbriquées avec argument string

Zakata


J'ai mal geré le copier coller, la vrai fonction est :

void Menu::AddSubMnu(int idMnu, string vName)
{
    SubMnu[idMnu].AddMenu(vName);
}

Concernant ta remarque, au debut je voulais gerer les menus avec un tableau de char à deux dimension : char Menu[10][10]. Le premier indice permet de gerer les 10 menus de plus haut niveau et le deuxieme indice permet de gerer les sous menu. A cela il falait ajouter une alloc dynamique pour le tableau de la chaine de caractère. Je débarque dans le C++ alors je te raconte pas la galère que c'était pour moi de gérer cette organisation. De plus elle ne me permetait pas de gérer le nom des menus principaux. J'ai donc rajouté la classse SubMenu puis je suis passé sur les string, ce qui me permétait de ne pas fair d'allocation.

sinon je suis maintenant passé sur une autre structure, j'ai une classe Menu avec comme membre, le nom, l'indice du parent et le niveau. J'ai une deuxième classe lstMenu qui contient un tableau de Menu. Je pense que c'est plus propre.

Le probléme qui a fait l'objet de ce topic n'est donc plus d'atualité cependant j'aimerais bien savoir pourquoi ca bugais, histoire de pouvoir réagir si je tombe à nouveau dessus.

Voila merci de ton aide
Damien


*Les fautes d'orthographes jointes à la présente missive, sont la propriété exclusive de l'auteur. Toute copie illégale pourra être passive de poursuites judiciaires, et soumises à des peines et sanctions exemplaires.


Cette discussion est classée dans : menu, int, string, void, vname


Répondre à ce message

Sujets en rapport avec ce message

Templace c++ ==> URGENT svp [ par najla1986 ] bonjour, j'ai un dossier a rendre pour mes cours et j'ai un soucis concernant l'utilisation de mes template. c'est donc a l'appel des methode du templ pb prog C: recuperation clavier [ par btita ] bonjour, voila, je vous expose mon prob. je developpe (depuis peu) avec Dev C++ sous Windows XP. je dois faire un projet qui permet de gerer le mat Erreur conversion from `Sportif*' to non-scalar type `Sportif' requested [ par lordskyser1 ] Bonjour,je débute en C++ et je tente de compiler ma première classe sans y arriver, car je n'arrive pas à comprendre le message d'erreur de dev c++.he Probleme ASCII et coonversion string vers char (enfin je pense) [ par Leptis ] Salut a tous les pgm qu'il y a sur ce site. Avant tout je tien à vous prévenir que je suis en gros newbie en C.Voila mon problème : je cherche à faire quelqun peut il corriger ce qui ne vas pas dans ce programme s'il vous plait [ par gasy72 ] en fait je commence à programmer en C++ maintenant et j'apprend en modifiant et en essayant de comprendre certain programme.voici par exemple un code tpe de curseurs sous linux [ par le_papy ] bonjour a tous, voila j'ai un projet d'info à faire, et j'aurais besion d'un equivalent linux (gcc) de la biblio SCONIO.H. Ou bien,plus particulierem Urgent SVPPPPP [ par jitalia ] Voilà, pour demain j'ai un devoir en c++ à faire il s'agit d'additionner, multiplier, et soustraire 2 matrice de 4 lignes et 4 colonnes.... Voici ce Gestoin de souris en C++ [ par Wickedwolf ] Bonjour,je débute en C++ en suivant un cours d'infographie proposée dans mon cursus universitaire. Le projet de cette année consite en la création d'u link error sous vc++ [ par gdpasmini ] Salut ! J'ai un petit probleme de compilation en C++. Je travail avec visual c++ express edition et lorsque je compile, le message d'erreur suivant a PB POUR LA GESTION MULTIFENETRES [ par algeros ] Voici un code ://////////////////////////////////////////////////////////////////                                                          //   Name:


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,647 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales