Bonjour à tous,

je voudrais coder la chose suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
class B : public C {
public:
   B(A& p, const A& a1, const A& a2);
   ...
   void run();
private:
   // ici comment declarer 3 variables permettant de
   // recuperer p, a1 et a2
};
 
void B::run() {
   // acces aux données de p a1 et a2
}
 
 
class A {
public:
   A(...);
   ...
   void Product(A& p, const A& a1, const A& a2);
   friend A operator*(const A& a1, const A& a2);
   ...
};
 
 
A operator*(const A& a1, const A& a2) {
   A p;
   Product(p, a1, a2);
}
 
 
void A::Product(A& p, const A& a1, const A& a2) {
   B b(p, a1, a2);
}
Dans la classe B, le traitement est effectué par la méthode Run(). Cette méthode est héritée de la classe C et ne prend pas d'argument. Dans C, elle est virtuelle pure.
Donc comment recuperer p, a1 et a2 dans B pour pouvoir utiliser leurs données dans Run. Si possible sans qu'il y ait copie, ces 3 objets peuvent etre volumineux.

Merci d'avance.