Accueil > Forum > > > > Accès à une instance
Accès à une instance
jeudi 25 janvier 2007 à 17:53:18 |
Accès à une instance

Mycado
|
Salutations,
J'ai mon main, et deux classes (classA et classB). Je crée une instance de classA nommée cal dans mon main. Mon problème est, que j'aimerai récupérer mes attributs de ca1 dans classB.
Comment puis-je faire ?
Merci d'avance
|
|
jeudi 25 janvier 2007 à 18:42:33 |
Re : Accès à une instance

laurent1024
|
Si tu donnais un peu le code des tes classes on pourrait mieux t'aider. si les attrivuts dans la classeA sont public tu peut faire des ca1.monattribut sinon tu a peut etre des fonction ca1.getMonAttribut()
++
|
|
jeudi 25 janvier 2007 à 18:53:32 |
Re : Accès à une instance

Mycado
|
C'est tout bête (je zappe les includes & cie):
Mon main:
int main() { classA ca1; ca1.var1 = 10; }
Ma classA:
class classA { private: public: int var1; }
Ma classB:
class classB {
private:
public: int testmethode();
}
int classB::testmethode() { // ici j'aimerai récupérer ma variable var1, déclaré dans ma classA }
J'espère avoir été clair, ça n'est pas évident à expliquer ici 
|
|
jeudi 25 janvier 2007 à 19:01:59 |
Re : Accès à une instance

laurent1024
|
Ben ilf aut que ta methode "testmethod prennent comme parametre soit un entier soit un objet de type classeA dans le premier cas ta methode est testMethode(int a) et tu fait objetB.testMethode(objetA.var1)
soit methode = testMethode (classeA a) dans ta methode int b = a.var1 et a l'appel objetB.testMethode(objetA)
++
|
|
jeudi 25 janvier 2007 à 19:06:03 |
Re : Accès à une instance

Mycado
|
Je suis bien d'accord avec ce point, cela permet d'avoir un accès en lecture à la variable var1. Mais cela ne me permet pas de changer sa valeur.
Après coup, je vois que je n'ai pas été trop clair sur ce point. Je ne souhaite pas récuperer cette valeur, mais la modifier.
|
|
jeudi 25 janvier 2007 à 19:08:51 |
Re : Accès à une instance

laurent1024
|
Dans ce cas utilise des pointeurs, ou meiux des références ++
|
|
jeudi 25 janvier 2007 à 19:13:09 |
Re : Accès à une instance

Mycado
|
Pointeurs/références, ça fait peur ça. Dans mon projet réél, var1 est une matrice. Une matrice de pointeurs pour ma première semaine de c++, c'est mal :(
Merci de ton aide laurent :)
|
|
jeudi 25 janvier 2007 à 19:15:32 |
Re : Accès à une instance

laurent1024
|
Utilise les reférences c'est hyper simple. Dans ta fonction tu mets int & var au lieu de int var et apres tu manipule directement la variable var comme si c'etait une variable locale
|
|
jeudi 25 janvier 2007 à 19:26:11 |
Re : Accès à une instance

Mycado
|
Facile quand c'est une basique variable int, mais quand c'est une matrice, c'est moins drole :(
|
|
jeudi 25 janvier 2007 à 20:29:07 |
Re : Accès à une instance

yann_lo_san
|
Tout dépend de la relation qu'ont les classes entre elles.
Si B est un A // héritage Ou B à un A // agrégation ou A est ami de B // à besoin de ou A est publique // N'importe qui peut modifier les vars de A
Dans ton exemple : tout est public donc : int classB::testmethode(classA& a) { a.var1 = 10; }
Meme résultat avec : classB { friend classA; };
// héritage
classB : public classA { int testmethode() { var1 = 10; // accede directement à var1 } }:
// agregation
classB { classA m_unA;
int testmethode() { m_unA.var1 = 10; // accede à var1 } };
|
|
Cette discussion est classée dans : instance, accès, main, classa, classb
Répondre à ce message
Sujets en rapport avec ce message
Question con [ par coyote ]
J'ai 2 classes: ClasseA et ClasseBClasseA possede une variable de type ClasseB, et ClasseB possede une variable de type ClasseA. Comment faire pour qu
Classes et heritage [ par Darkneon ]
Allo a tous,J'ai deux classes comme suitclass ClassA {private:char *a1;char *a2;public:void FuncA();};class ClassB : public ClassA {private:char *b1;c
fonction qui initialize une instance de classe sans allocation dynamique [ par mmaximum ]
Bonjour à tous,J'ai un petit problème que je n'arrive pas à résoudre: On considère une classe ClassA et une fonction FunctionA.Le constructeur de Clas
Visibilité de variables c [ par Moomoon07 ]
Bonjour,Voici mon problême :Mon programme possède un main et 3 modules : main.cpp, m1.cpp, m2.cpp, m3.cppmain.cpp inclut m1.h, m2.h et m3.hChacun de c
[C++] Débutant [ par Arnold59 ]
Bonjour,Je développe parfois en Java (Java version JDK 1.6 update 7), je souhaites apprendre le C++, et j'ai acheté le livre "Le langage c++" de l'édi
Problème en C++ [ par Farqual ]
Bonjour, je viens de me lancer dans le cpp mais j'ai un problème au niveau de la compilation d'un fichier source en un .exe j'apprend avec un livre et
Visual C# -tester un paramètre passé en ligne de commande. [ par XVAudio ]
Bonjour,Nouveau en visual C#, j ai créé une appli windows et aimerai exploiter un paramètre passé en ligne de commande.Après avoir visité msdn "Main()
Accès disque dur [ par JejeLand ]
Bonjour,J'utilise les fonctions ReadFile et WriteFile pour lire et écrire sur un disque dur. Tout va bien tant que le disque ne contient pas de mauvai
Un petit coup de main, svp [ par developpeurvb ]
Bonjour,Je développe un client ftp et sftp, en fait je recherche une bonne ame qui aurait un serveur sftp et qui pourrait me mettre un compte a dispo
probleme link lib [ par unionx ]
salut j'essai de creer ma library(.lib), le probleme c'est quand je veux utilise ma .lib sous vc 6 ou vc 2008 ça marche pas. vc 6 me donne ce proble
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : WIN APIRE : WIN API par racpp
Cliquez pour lire la suite par racpp WIN APIWIN API par omarino_007
Cliquez pour lire la suite par omarino_007
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|