Bonjour,

J'ai un doute affreux, considérons la classe suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
class ObjA
{
public:
	ObjA(const CString& strvalue)			{ m_strValue = strvalue; }
	CString GetText()						{ return m_strValue; }
 
protected:
	CString m_strValue;
};
PS :si vous n'aimez pas la classe CString vous pouvez remplacer par std:string


maitenant si j'écris :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
CString strTmp;
ObjA* a = new ObjA( _T("c++ power") );
strTmp = a->GetText();
 
ObjA aCopy(*a);
delete a;
 
strTmp = aCopy.GetText();
est ce valide ou ai-je besoin de déclarer un constructeur par copie ou je ferais un m_strValue = rhs.m_strValue ?