J'ai la fonction suivante et une hiérarchie de classes telles que Multinumber est hérité par Pairs, Rational et Complex. Tous partagent des fonctions qui sont virtuelles dans Multinumber. Mon problème est le code suivant. De la façon dont il est écrit maintenant, la variable newElement sort de la portée quand elle est ajoutée à mon setArray
qui est de type Multinumber**
, et j'ai besoin de trouver un moyen d'allouer de la mémoire dans cette fonction. Bizarrement, les paramètres qui sont passés dans la fonction, même lorsqu'ils sont imprimés sur la première ligne, sont toujours vides quand je fais un cout<<newElement->tostring();
Quelqu'un peut-il me dire ce qui ne va pas ici?Comment allouer de la mémoire dans cette fonction?
bool Set::addElement(Multinumber* newElement)
{
bool success = false;
if(isFull())
{
resize();
}
if(!isMember(newElement))
{
setArray[numElements] = newElement;
numElements++;
success = true;
}
return success;
}
EDIT: Oui, l'affiche est correcte, cela est un devoir
Nous avons besoin de plus de code. Veuillez poster toute la classe 'Set'. Il serait également utile de voir l'implémentation de 'Multinumber'. –