Bonjour,

Je me pose la question sur la "nécessité" de définir un constructeur de copie dans le cas suivant.

Supposons que l'on ait une classe C utilisée dans une classe Test telles que:

C.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
C::C()
{
}
 
C::C(double a, double b)
{
  m_a = a;
  m_b = b;
}

Test.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Test::Test() : m_C()
{
}
 
void Test::someFunction(double a, double b)
{
  m_C = C(a, b);
}
main.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Test t = Test();
t.someFunction(3.14, 1.51);
Dois-je définir un constructeur de copie :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
C::C(const &C copy)
{...}
Ou cela n'est pas nécessaire?

Merci de votre aide.