Architecture et structure de données en C++. Quelle est la meilleure méthode ?
bonjour, j'ai une gestion de classes ainsi :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| class system
vecteur interim
class interim
string nom
vecteur job
class job
string nom
vecteur date
class date
int date
classe temps
class temps
int temps |
Lorsque je veux récupérer un temps avec :
Code:
int temps = system.GetTemps(numInterim, numJob, numDate);
Il y aura donc la fonction "GetTemps" dans chaque classes suivantes.
Seul mon int se déplace dans les classes cependant la classe system va contenir beaucoup de fonctions.
Serait-il intéressant de renvoyer directement les classes ?(elle contiennent tout de même des vecteurs dont taille peut être imposante)
En utilisant les références peut être puis-je éviter les copies.
exemple :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
#include "Job.h"
#include <string>
#include <vector>
class Interim
{
public:
Interim(const std::string name) : m_name(name) {}
Job &GetJob(const int num) { return vm_job[num]; }
private:
std::string m_name;
std::vector <Job> vm_job;
}; |
Je pourrais faire une truc du genre
Citation:
int temps = system.GetInterim(num).GetJob(num).GetDate(num).GetTime();
Serait-ce un bon choix ? Vais-je perdre trop de mémoire ?
Merci