bonjour, j'ai une gestion de classes ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
int temps = system.GetInterim(num).GetJob(num).GetDate(num).GetTime();
Serait-ce un bon choix ? Vais-je perdre trop de mémoire ?

Merci