Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (GNU/Linux, *NIX, *BSD und Co) » Kopierkonstruktor und operator=

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
10.11.2008, 18:59 Uhr
~Asko
Gast


hi,

hab versucht mir einen Kopierkonstruktor zu bauen und den zuweisungoperator zu überladen. Aber irgendwie klappt da was nicht wenn es dran geht Objekt zu zerstören, und ich vermute stark das es an meinem kopierkonstruktor / operator-überladung hängt.

kann da mal jeamnd drüber gucken und mir sagen was da nicht passt?

hier mal die Definitionen aus der .cpp datei

C++:
Set::Set():m_member(0), m_count(0)
{
}

Set::Set(int c, ...)
{
    m_count = c;
    
    va_list vl;
    va_start(vl, c);
    
    m_member = new int[c];
    
    for(int i=0; i < c; i++)
        m_member[i] = va_arg(vl, int);
        
    va_end(vl);
}

Set::Set(Set &s)
{
    this->m_count = s.m_count;
    this->m_member = new int[this->m_count];
    
    for(int i=0; i < m_count; i++)
        this->m_member[i] = s.m_member[i];
}

Set Set::operator=(const Set s)
{
    this->m_count = s.m_count;
    this->m_member = new int[this->m_count];
    
    for(int i=0; i < m_count; i++)
        this->m_member[i] = s.m_member[i];
    
    return *this;
}

Set::~Set()
{
    if (m_member != 0)
        delete m_member;
}


 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
10.11.2008, 20:00 Uhr
0xdeadbeef
Gott
(Operator)



C++:
delete[] m_member;


Außerdem musst du im Zuweisungsoperator noch überprüfen, ob bereits Speicher alloziiert ist und ihn ggf. löschen, bevor du neuen anforderst.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (GNU/Linux, *NIX, *BSD und Co) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: