J'essaie d'écrire du code orienté objet politiquement correct qui comprend cinq classes, dont certaines ont besoin de manipuler un vecteur privé dans l'un des Des classes. Je n'ai pas réussi à essayer de faire des fonctions d'amis en raison de références circulaires, et je me promenais s'il y avait de meilleurs moyens. Le vecteur est très grand (1 million) et je fais environ 100 000 itérations, ce qui me semble inefficace.C++: Comment retourner efficacement un vecteur privé de 1million à plusieurs autres classes avec le bon OO
Un squelette de mon code est:
class A{
func(){use a}
private:
vector<double> a;
};
class B{
func(){use a and manipulate b};
...
private:
double *b;
};
class C{
...
func(){use a}
func(){use b}
};
main(){
for(j=0; j<500000;j++){
A a1;
a1.func();
....
B b1;
C c1;
b1.func();
c1.func();
....
}
}
Ces classes ont une relation "a-un" donc je ne peux pas utiliser l'héritage. J'ai finalement l'intention de mettre les déclarations en main dans une autre classe avec une relation "has-a".
Merci
Définir 'code orienté objet politiquement correct'. – user2079303
Quelque chose qu'un employeur ne désapprouverait pas. J'essaie de trouver un moyen efficace d'accéder au vecteur privé qui correspond à l'encapsulation. Cependant, je me suis demandé s'il ne serait pas mieux de déclarer le vecteur public. –