Rechercher : dans
Par :

Accés à une même case mémoire sous c++

Dernière réponse le 13 mar 2008 à 10:33:08 farfattou, le 12 mar 2008 à 10:23:20 
 Signaler ce message aux modérateurs

Bonjour,
je viens de déclarer et calculer une variable dans les fichiers mac802_11.h et mac802_11.cc.
je veux accéder à cette même variable dans AODV.cc qui se trouve dans un paquetage différent de celui de mac802_11.cc.
j'ai déjà inclut le mac/ mac802_11.h dans Aodv.h, j'ai en olus déclaré la classe mac802_11 comme friend de la classe AODV, mais l'accés à la variable dont je perlais est impossible. En l'affichant dans AODV elle est toujours nulle.
est ce que qulqu'un pourrait m'aider svp.
je vous serai énormément reconnaissante merci bien
j'attends vos réponse.
à bientôt

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « accés à une même case mémoire sous c++ » dans :
Access 97 sous XP - Mémoire insuffisante VoirProblème Solution Problème Le message "mémoire insuffisante" apparaît lorsque l'on essaie de lancer Access 97 sous Windows XP suite à l'installation d'Access ou du pack Office 97. Ne changez rien à votre configuration matérielle, le...
Utiliser des accents et autres caractères spéciaux VoirDans la plupart des langages de programmation, on ne peut utiliser directement les accents et autres caractères non-anglosaxon. La solution est l'unicode, une sorte de code universel. Par exemple pour afficher la chaine de caractères : " là, ça...
Les inlines en C++ VoirSignification Exemple 1 Inline et headers Exemple 2 Signification Le mot-clé inline est utilisé en C++ et s'applique à une fonction. Il indique au compilateur que chaque appel à la fonction inline devra être remplacé par le corps de cette...
Langage C - Les types de données VoirLes types de données Les données manipulées en langage C sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître l'occupation mémoire (le...
Optimisation du BIOS VoirQu'est-ce que le BIOS? Le BIOS (Basic Input Output System) est une petite mémoire située sur la carte-mère, dont les données définissent les paramètres du système. Certaines données sont inscrites dans une mémoire morte (ROM), il n'est donc pas...
Langage C - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent...

1

=[Cvrd]=Tassin, le 12 mar 2008 à 14:55:15

Pourrais tu nous donner des morceaux de code pour y voir un peu plus clair stp ? -- Alex pour vous servir --

-- N'oubliez pas de mettre vos sujets en "Résolu" lorsque vous avez la réponse ;-) --

Répondre à =[Cvrd]=Tassin

3

 farfattou, le 13 mar 2008 à 10:33:08

Bonjour ,
Tout d'abord mac-802_11.h et mac-802_11.cc se trouvent sous le paquetage mac.
j'ai déclaré le paramètre dont je parlais sous mac-802_11.h et plus précisement dans la classe Mac802_11

public: double facteur;
friend class AODV;

ensuite dans mac-802_11.cc, j'ai implémenté ce paramètre

Ensuite, j'aimerai accéder au paramètre factrue dans AODV.cc qui se trouve dans le paquetage aodv. pour ce faire:

dans le fichier aodv.h
#include <mac/mac-802_11.h >
class AODV:
Mac802_11* mac;

dans le fichier aodv.cc;

tcl.evalf("puts\"facteur=%f\"",mac->facteur);

voilà le problème est que cette affichage donne toujours 0 malgré que le paramètre est bel et bien calculé et non nul quand je porte l'affichage dans mac-802_11.cc.

j'ai même essayé de travailler avec deux méthodes setfacteur(...) et getfacteur():

dans le fichier mac-802_11.h
public:
inline void setfacteur(double f){facteur=f;}
inline double getfacteur(){return(facteur);}

dans le fichier mac-802_11.cc
facteur=....;
setfacteur(facteur);

dans aodv.cc:

tcl.evalf("puts\"facteur=%f\"",mac->getfacteur());


toujours même problème.

voilà est ce que vous pourriez me quidez un peu
merci bien
très reconnaissante
à bientôt
Fatma

Répondre à farfattou

2

Mahmah, le 12 mar 2008 à 18:03:35

Bonjour,

De ce que j'ai compris tu as opéré le mauvais patient. Comme le disait mes pdf de cours, l'ami est celui qui peut toucher vos parties intimes. Il faudrait donc que mac802_11 déclare que AODV est son amie et qu'elle peut donc tout voir.
Ce n'est pas parce que quelqu'un estime être ton ami qu'il peut tout voir de toi, c'est toi qui décide et laisse faire.

Exception en C++: deux instances d'une même classe peuvent accéder aux membres privés de l'une et l'autre. (Pratique pour les constructeurs de copie)

M.

Répondre à Mahmah
Collection CommentÇaMarche.net