J'ai une classe à lire des données (data.h & data.cpp), une classe aux données d'analyse (analyse.h & analysis.cpp) et une autre à faire le calcul basé sur deux classes précédentes (calcul.h & calcul .cpp). Je me demande comment je peux passer les résultats de la classe de données à la classe d'analyse et plus tard de tous les deux à la classe de calcul. J'ai essayé de mettre le data.h en analysis.cpp mais il n'a pas marché Merci pour votre tempsC++: Comment transmettre les résultats d'une classe à une autre classe?
Répondre
La définition des données va dans data.h
données de classe {...}
et comprennent le fichier dans analysis.cpp
#include "data.h"
et passer comme une classe référence
a nalysys { bool Analyse (Données & données); }
Notez que vous devez déclarer la classe dans analysis.h, "class Data;", pour pouvoir l'utiliser dans les signatures. – dutt
Vous pouvez créer une nouvelle structure dans laquelle vous pouvez stocker les résultats de votre classe et l'utiliser pour envoyer vos résultats sur vos classes. Par exemple:
Struct Result {
bool dataResult;
bool analisysResult;
};
En calculation.cpp, vous aviez #include data.h et analysis.h, puis utiliser les fonctions de données pour récupérer les données, en passant le résultat (s) à l'analyse, puis les résultats au calcul.
Cela se résume à quelque chose à peu près comme ...
#include "data.h"
#include "analysis.h"
Data data;
Analysis analysis;
while (data.get())
analysis.process_more(data);
Calculation calculation(analysis);
calculation.report();
En d'autres termes, les objets des types de classe sont les résultats.
- 1. Transmettre une variable de classe à une autre classe
- 2. En C++, est-il possible de transmettre une classe en tant qu'héritage d'une autre classe?
- 3. transmettant une notification à une autre classe
- 4. comment appeler un objet d'une classe à une autre classe
- 5. Comment accéder à une minuterie d'une autre classe en C#
- 6. C# Fonction d'appel dans une classe d'une autre classe
- 7. comment passer une variable de classe int d'une classe à une autre classe dans cocos2d
- 8. Comment créer une instance d'une classe dans une autre classe
- 9. classe d'accès PHP dans une autre classe
- 10. Transmettre un paramètre à une classe dans CodeIgniter
- 11. Accès à un NSMutableArray dans une autre classe d'une classe
- 12. Classe parent dans une autre classe
- 13. Get classe et appliquer une autre classe
- 14. Pour savoir si une classe est une sous-classe d'une autre classe (Objective-C)
- 15. Objectif C - Comment hériter d'une autre classe?
- 16. Conversion d'une classe à une autre classe à l'aide de la sérialisation Xml en C#
- 17. .NET Résultats classe
- 18. Comment repeindre une autre classe Qt
- 19. classe héritant d'une autre classe
- 20. Projet C++ et Eclipse - comment élaborer les en-têtes à inclure et la classe à transmettre
- 21. Comment utiliser la variable déclarée dans une classe dans une autre classe dans Obj C
- 22. Appelez la fonction de classe obj-c d'une autre classe
- 23. Transmettre les paramètres à la classe principale Flash (Document)
- 24. Comment savoir si une classe descend d'une autre classe
- 25. Passant une autre classe parmi les instances
- 26. Accès à la variable initialisée sur une autre classe C++
- 27. comment appeler une classe (mapview extension mapActivity) d'une autre classe?
- 28. valeur passer d'une classe à une autre
- 29. Comment s'inscrire à un autre événement de classe dans C#?
- 30. Comment retourner une valeur d'une classe à une autre en C# (ASP.NET 2.0)
Cela ressemble à un design douteux de la toute première phrase. La lecture des données est un _algorithm_. Les algorithmes sont mieux implémentés en tant que _functions_. Les objets doivent combiner l'état (données) avec le comportement (fonctions membres). Les algorithmes n'ont pas d'état, mais un effet secondaire et/ou un résultat. De plus, _files_ est quelque chose de différent de _classes_. Le code source est stocké dans des fichiers, mais combien y a-t-il de classes par fichier (ou rien, vous pouvez écrire des programmes C++ parfaitement légaux sans aucune classe), vous êtes libre de décider. C'est la 3ème ou 4ème fois que j'écris ceci en moins d'une semaine. _Java empoisonne vraiment les esprits des programmeurs. – sbi
De nombreux motifs, par ex. Modèle de stratégie, utiliser des classes pour implémenter des algorithmes –
@sbi: David a un bon point. L'analyse des données peut être un algorithme, mais souvent, il s'agit d'un algorithme avec un état, et cet état existe entre les appels de fonction. Le placer dans un objet est une bonne façon d'encapsuler cela, et vu comme une étape de l'habitude d'un programmeur débutant d'utiliser des membres statiques/globals, une approche OO est un bon premier pas vers une fonctionnalité thread-safe. Une approche excessivement class-par-classe est quelque chose que je trouve aussi extrêmement ennuyeux ... surtout quand ils comprennent des milliers de lignes d'en-têtes et seulement quelques douzaines de lignes ... tout à fait avec vous. –