M
mourad
bonjour à tous,
j'ai deux questions :
1-j'ai trouvé dans certains logiciels le code suivant :
const Maclasse& Maclasse:perator=(const Maclasse&right)
{
if (&right!=this)
{
this->Maclasse::~Maclasse();
::new(this) Maclasse(right); //je ne comprends pas cette ligne.
}
return *this;
}
Moi j'aurais fais une méthode commune qui sera appelée par le
constructeur de copie et l'opérateur d'affectation.
2-Question :
pour interdir la copie je déclare mon constructeur de copie en private
dans le ".h" comme suit :
MclasseDerivee::MclasseDerivee(const MclasseDerivee&right):
MClasseBase<>(right){};
est ce que c'est bon?
merci d'avance
j'ai deux questions :
1-j'ai trouvé dans certains logiciels le code suivant :
const Maclasse& Maclasse:perator=(const Maclasse&right)
{
if (&right!=this)
{
this->Maclasse::~Maclasse();
::new(this) Maclasse(right); //je ne comprends pas cette ligne.
}
return *this;
}
Moi j'aurais fais une méthode commune qui sera appelée par le
constructeur de copie et l'opérateur d'affectation.
2-Question :
pour interdir la copie je déclare mon constructeur de copie en private
dans le ".h" comme suit :
MclasseDerivee::MclasseDerivee(const MclasseDerivee&right):
MClasseBase<>(right){};
est ce que c'est bon?
merci d'avance