<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[+ Operator überladen! Funktioniert nicht ganz]]></title><description><![CDATA[<p>Hallo,</p>
<p>also hier mein quellcode!<br />
meine fragen und das problem hab ich als kommentar gekennzeichnet, hoffe ihr könnt mir helfen!</p>
<pre><code class="language-cpp">class Haus
{
 public:
  //Konstruktore
  Haus()         //kann man so standardwerte initialisieren, wenn nix eingegeben wird, oder lieber einen konstruktor mit default-parametern?
  {
   mAnzahlR=3;
   mFlaeche=100;
   mAnzahlT=3;
   mName = new char[25];
   strcpy(mName,&quot;Standardhaus&quot;);
   mAnzahlH++;
  }
  Haus(int rooms,int space,int doors,const char* name)
  {
   mAnzahlR=rooms;
   mFlaeche=space;
   mAnzahlT=doors;
   mName = new char[strlen(name)+1];
   strcpy(mName,name);
   mAnzahlH++;
  }
  Haus(const Haus&amp; anderes)
  {
   mAnzahlR = anderes.mAnzahlR;
   mFlaeche = anderes.mFlaeche;
   mAnzahlT = anderes.mAnzahlT;
   mName = new char[strlen(anderes.mName)+1];   //richtig?
   strcpy(mName,anderes.mName);
   mAnzahlH++;
  }
  ~Haus()
  {
   delete[] mName;
   mName=0;                 //nötig,und wenn ja richtig?
   mAnzahlH--;
  }
  //Static -Funktionen
  static int HausAnzahl(){return mAnzahlH;}

  //Operatoren
  Haus operator+(Haus&amp; rhs)
  {
   Haus summe(*this);        //ruft copy-konstruktor auf
   summe.mAnzahlR+=rhs.mAnzahlR;
   summe.mFlaeche+=rhs.mFlaeche;
   summe.mAnzahlT+=rhs.mAnzahlT;
   return summe;
  }
  //Get - Methoden
  int GetAnzahlRaeume()const{return mAnzahlR;}
  int GetGesamtFlaeche()const{return mFlaeche;}
  int GetAnzahlTueren()const{return mAnzahlT;}
  char* GetName()const{return mName;}
 private:
  int mAnzahlR;
  int mFlaeche;
  int mAnzahlT;
  char* mName;
  static int mAnzahlH;
};

int Haus::mAnzahlH = 0;
void PrintHaus(Haus&amp; h)
{
 cout&lt;&lt;&quot;Hausname: &quot;&lt;&lt;h.GetName()&lt;&lt;endl;
 cout&lt;&lt;&quot;Raeume: &quot;&lt;&lt;h.GetAnzahlRaeume()&lt;&lt;endl;
 cout&lt;&lt;&quot;Flaeche: &quot;&lt;&lt;h.GetGesamtFlaeche()&lt;&lt;endl;
 cout&lt;&lt;&quot;Tueren: &quot;&lt;&lt;h.GetAnzahlTueren()&lt;&lt;endl;
}
int main(int argc, char* argv[])
{
 Haus a(5,300,3,&quot;Test&quot;);
 Haus b(4,100,2,&quot;Test2&quot;);
 Haus c = a + b;      //geht

 Haus d;
 d = a + b;           //geht nicht??   (Name wird bei PriontHaus(d) nicht angezeigt, und Programm hängt)

 PrintHaus(c);
 PrintHaus(d);
 getch();       return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/137869/operator-überladen-funktioniert-nicht-ganz</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 23:45:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/137869.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 21 Feb 2006 13:51:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to + Operator überladen! Funktioniert nicht ganz on Tue, 21 Feb 2006 13:51:37 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>also hier mein quellcode!<br />
meine fragen und das problem hab ich als kommentar gekennzeichnet, hoffe ihr könnt mir helfen!</p>
<pre><code class="language-cpp">class Haus
{
 public:
  //Konstruktore
  Haus()         //kann man so standardwerte initialisieren, wenn nix eingegeben wird, oder lieber einen konstruktor mit default-parametern?
  {
   mAnzahlR=3;
   mFlaeche=100;
   mAnzahlT=3;
   mName = new char[25];
   strcpy(mName,&quot;Standardhaus&quot;);
   mAnzahlH++;
  }
  Haus(int rooms,int space,int doors,const char* name)
  {
   mAnzahlR=rooms;
   mFlaeche=space;
   mAnzahlT=doors;
   mName = new char[strlen(name)+1];
   strcpy(mName,name);
   mAnzahlH++;
  }
  Haus(const Haus&amp; anderes)
  {
   mAnzahlR = anderes.mAnzahlR;
   mFlaeche = anderes.mFlaeche;
   mAnzahlT = anderes.mAnzahlT;
   mName = new char[strlen(anderes.mName)+1];   //richtig?
   strcpy(mName,anderes.mName);
   mAnzahlH++;
  }
  ~Haus()
  {
   delete[] mName;
   mName=0;                 //nötig,und wenn ja richtig?
   mAnzahlH--;
  }
  //Static -Funktionen
  static int HausAnzahl(){return mAnzahlH;}

  //Operatoren
  Haus operator+(Haus&amp; rhs)
  {
   Haus summe(*this);        //ruft copy-konstruktor auf
   summe.mAnzahlR+=rhs.mAnzahlR;
   summe.mFlaeche+=rhs.mFlaeche;
   summe.mAnzahlT+=rhs.mAnzahlT;
   return summe;
  }
  //Get - Methoden
  int GetAnzahlRaeume()const{return mAnzahlR;}
  int GetGesamtFlaeche()const{return mFlaeche;}
  int GetAnzahlTueren()const{return mAnzahlT;}
  char* GetName()const{return mName;}
 private:
  int mAnzahlR;
  int mFlaeche;
  int mAnzahlT;
  char* mName;
  static int mAnzahlH;
};

int Haus::mAnzahlH = 0;
void PrintHaus(Haus&amp; h)
{
 cout&lt;&lt;&quot;Hausname: &quot;&lt;&lt;h.GetName()&lt;&lt;endl;
 cout&lt;&lt;&quot;Raeume: &quot;&lt;&lt;h.GetAnzahlRaeume()&lt;&lt;endl;
 cout&lt;&lt;&quot;Flaeche: &quot;&lt;&lt;h.GetGesamtFlaeche()&lt;&lt;endl;
 cout&lt;&lt;&quot;Tueren: &quot;&lt;&lt;h.GetAnzahlTueren()&lt;&lt;endl;
}
int main(int argc, char* argv[])
{
 Haus a(5,300,3,&quot;Test&quot;);
 Haus b(4,100,2,&quot;Test2&quot;);
 Haus c = a + b;      //geht

 Haus d;
 d = a + b;           //geht nicht??   (Name wird bei PriontHaus(d) nicht angezeigt, und Programm hängt)

 PrintHaus(c);
 PrintHaus(d);
 getch();       return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/999402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/999402</guid><dc:creator><![CDATA[ohmann?!]]></dc:creator><pubDate>Tue, 21 Feb 2006 13:51:37 GMT</pubDate></item><item><title><![CDATA[Reply to + Operator überladen! Funktioniert nicht ganz on Tue, 21 Feb 2006 14:02:26 GMT]]></title><description><![CDATA[<p>Du brauchst noch einen vernünftigen operator=, damit der Code funktionieren kann - der vom Compiler bereitgestellte kommt nicht mit dynamischen Membern zurecht (damit zeigt d.mName im Endeffekt auf den Speicher, den der Dtor von 'summe' bei Funktionsende bereinigt hat).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/999422</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/999422</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 21 Feb 2006 14:02:26 GMT</pubDate></item><item><title><![CDATA[Reply to + Operator überladen! Funktioniert nicht ganz on Tue, 21 Feb 2006 14:33:53 GMT]]></title><description><![CDATA[<p>also ich hab das jetzt etwas angepasst, funktioniert auch soweit!<br />
Hätte nur gern bisschen kritik, was ich anders machen sollte, was fehlt, was gut ist, wo es probleme geben könnte!</p>
<p>Das dies eine HAUS Klasse ist sollte nicht stören, war nur zum üben!<br />
darum vergleichen die vergleichsoperatoren natürlich nicht den name oder so</p>
<p>mir geht es erstmal um das programmierprinzip, und den stil etc..und natürlich um fehler</p>
<p>achso, und die mischung der namen (english/deutsch) tut mir leid, sollte aber erstmal nicht stören)</p>
<p>also wer lust hat kann sich ja mal den ganzen code anschauen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title="=)"
      alt="🙂"
    /></p>
<pre><code class="language-cpp">class Haus
{
 public:
  //Konstruktore
  Haus()         //kann man so standardwerte initialisieren, wenn nix eingegeben wird, oder lieber einen konstruktor mit default-parametern?
  {
   mAnzahlR=3;
   mFlaeche=100;
   mAnzahlT=3;
   mName = new char[25];
   strcpy(mName,&quot;Standardhaus&quot;);
   mAnzahlH++;
  }
  Haus(int rooms,int space,int doors,const char* name)
  {
   mAnzahlR=rooms;
   mFlaeche=space;
   mAnzahlT=doors;
   mName = new char[strlen(name)+1];
   strcpy(mName,name);
   mAnzahlH++;
  }
  Haus(const Haus&amp; anderes)
  {
   mAnzahlR = anderes.mAnzahlR;
   mFlaeche = anderes.mFlaeche;
   mAnzahlT = anderes.mAnzahlT;
   mName = new char[strlen(anderes.mName)+1];   //richtig?
   strcpy(mName,anderes.mName);
   mAnzahlH++;
  }
  ~Haus()
  {
   delete[] mName;
   mName=0;                 //nötig,und wenn ja richtig?
   mAnzahlH--;
  }
  //Static -Funktionen
  static int HausAnzahl(){return mAnzahlH;}

  //Operatoren
  Haus operator+(Haus&amp; rhs)
  {
   Haus summe(*this);        //ruft copy-konstruktor auf
   summe.mAnzahlR+=rhs.mAnzahlR;
   summe.mFlaeche+=rhs.mFlaeche;
   summe.mAnzahlT+=rhs.mAnzahlT;
   return summe;
  }
  Haus&amp; operator=(const Haus&amp; rhs)
  {
   if(this!=&amp;rhs)
   {
   mAnzahlR = rhs.mAnzahlR;
   mFlaeche = rhs.mFlaeche;
   mAnzahlT = rhs.mAnzahlT;
   delete[] mName;
   mName = new char[strlen(rhs.mName)+1];
   strcpy(mName,rhs.mName);
   return *this;
   }
  }
  Haus&amp; operator+=(const Haus&amp; rhs)
  {
   mAnzahlR += rhs.mAnzahlR;
   mFlaeche += rhs.mFlaeche;
   mAnzahlT += rhs.mAnzahlT;
   return *this;
  }
  Haus&amp; operator-=(const Haus&amp; rhs)
  {
   mAnzahlR -= rhs.mAnzahlR;
   mFlaeche -= rhs.mFlaeche;
   mAnzahlT -= rhs.mAnzahlT;
   return *this;
  }
  bool operator&lt;(const Haus&amp; rhs)
  {
   bool ok = false;
   if(mAnzahlR &lt; rhs.mAnzahlR)
    if(mFlaeche &lt; rhs.mFlaeche)
     if(mAnzahlT &lt; rhs.mAnzahlT)
      ok = true;
     return ok;
  }
  bool operator==(const Haus&amp; rhs)
  {
   bool ok = false;
   if(mAnzahlR == rhs.mAnzahlR)
    if(mFlaeche == rhs.mFlaeche)
     if(mAnzahlT == rhs.mAnzahlT)
      ok = true;
     return ok;
  }
  //Get - Methoden
  int GetAnzahlRaeume()const{return mAnzahlR;}
  int GetGesamtFlaeche()const{return mFlaeche;}
  int GetAnzahlTueren()const{return mAnzahlT;}
  char* GetName()const{return mName;}
  //Set - Methoden
  void SetRaeume(int count)
  {
   if(count&gt;0)
    mAnzahlR = count;
   else
    mAnzahlR = mAnzahlR;
  }
  void SetFlaeche(int space)
  {
   if(space&gt;0)
    mFlaeche = space;
   else
    mFlaeche = mFlaeche;
  }
  void SetTueren(int doors)
  {
   if(doors&gt;0)
    mAnzahlT = doors;
   else
    mAnzahlT = mAnzahlT;
  }
  //Extend - Methoden
  void VergroessereFlaeche(int morespace)
  {
   if(morespace&gt;0)
    mFlaeche += morespace;
  }
  void NeueRaeume(int roomcount)
  {
   if(roomcount&gt;0)
    mAnzahlR += roomcount;
  }
  void NeueTueren(int doorcount)
  {
   if(doorcount&gt;0)
    mAnzahlT += doorcount;
  }
  //anderes
  void NameAendern(const char* newname)
  {
   delete[] mName;
   mName = new char[strlen(newname)+1];
   strcpy(mName,newname);
  }
 private:
  int mAnzahlR;
  int mFlaeche;
  int mAnzahlT;
  char* mName;
  static int mAnzahlH;
};

int Haus::mAnzahlH = 0;
void PrintHaus(Haus&amp; h)
{
 cout&lt;&lt;&quot;Hausname: &quot;&lt;&lt;h.GetName()&lt;&lt;endl;
 cout&lt;&lt;&quot;Raeume: &quot;&lt;&lt;h.GetAnzahlRaeume()&lt;&lt;endl;
 cout&lt;&lt;&quot;Flaeche: &quot;&lt;&lt;h.GetGesamtFlaeche()&lt;&lt;endl;
 cout&lt;&lt;&quot;Tueren: &quot;&lt;&lt;h.GetAnzahlTueren()&lt;&lt;endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/999448</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/999448</guid><dc:creator><![CDATA[ohmann?!]]></dc:creator><pubDate>Tue, 21 Feb 2006 14:33:53 GMT</pubDate></item><item><title><![CDATA[Reply to + Operator überladen! Funktioniert nicht ganz on Tue, 21 Feb 2006 19:04:19 GMT]]></title><description><![CDATA[<p>Also wenn du einen Tipp haben willst, was du noch besser machen kannst, dann solltest du anstatt von &quot;Print Haus&quot; über einen operator&lt;&lt; nachdenken!</p>
<pre><code class="language-cpp">ostream&amp; operator&lt;&lt; (ostream&amp; os,const Haus&amp; haus);
</code></pre>
<p>dann hast du später die Möglichkeit</p>
<pre><code class="language-cpp">Haus h;
cout &lt;&lt; h;
</code></pre>
<p>zu schreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/999670</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/999670</guid><dc:creator><![CDATA[SALOMON]]></dc:creator><pubDate>Tue, 21 Feb 2006 19:04:19 GMT</pubDate></item><item><title><![CDATA[Reply to + Operator überladen! Funktioniert nicht ganz on Tue, 21 Feb 2006 20:02:57 GMT]]></title><description><![CDATA[<p>operator+ sollte auf der rechten seite eine referenz auf const nehmen</p>
<p>+ &lt; und == sollten const member sein</p>
<p>+ kann ohne weiteres direkt auf += von Haus aufbauen</p>
<p>GetName() sollte ein const char* zurrückgeben zwecks logischer const-korrektheit</p>
<p>operator= und NameAendern sind nicht exception-sicher, wenn das korrigiert wird, kannst du diese funktion direkt für op= verwenden und der test auf selbstzuweisung kann entfallen</p>
<p>besser noch std::string statt char* verwenden, es vereinfacht die angelegenheit gewaltig</p>
<p>das mName=0 im destruktor ist überflüssig</p>
<p>der unterschied zwischen den Set... und den Neue...-funktionen entgeht mir</p>
]]></description><link>https://www.c-plusplus.net/forum/post/999754</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/999754</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Tue, 21 Feb 2006 20:02:57 GMT</pubDate></item><item><title><![CDATA[Reply to + Operator überladen! Funktioniert nicht ganz on Wed, 22 Feb 2006 06:31:16 GMT]]></title><description><![CDATA[<p>und der Zuweisungsoperator liefert nicht immer einen Wert zurück:</p>
<pre><code class="language-cpp">operator=(const Haus&amp; other)
{
  if(this!=&amp;other)
  {
    ...
    return *this;
  }
  //hier fehlt die Rückgabe !!
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/999874</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/999874</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 22 Feb 2006 06:31:16 GMT</pubDate></item><item><title><![CDATA[Reply to + Operator überladen! Funktioniert nicht ganz on Wed, 22 Feb 2006 06:40:54 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<p>+ kann ohne weiteres direkt auf += von Haus aufbauen</p>
</blockquote>
<p>macht er das nicht?<br />
vielleicht kannst mir das mit einem beispiel erklären?</p>
<p>camper schrieb:</p>
<blockquote>
<p>operator= und NameAendern sind nicht exception-sicher, wenn das korrigiert wird, kannst du diese funktion direkt für op= verwenden und der test auf selbstzuweisung kann entfallen</p>
</blockquote>
<p>wieso sind sie das nicht?Auch hier wäre mir ein beispiel lieb</p>
<p>camper schrieb:</p>
<blockquote>
<p>der unterschied zwischen den Set... und den Neue...-funktionen entgeht mir</p>
</blockquote>
<p>Die Set-Methoden setzen die Anzahl der Räume, und die Neue-Methoden addieren Räume, Fläche hinzu, setzen aber nix neu!</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/11561">@SALOMON</a>: ja das werde ich mal versuchen<br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/10318">@CStoll</a>: was sollte da zurückgegeben werden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/999876</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/999876</guid><dc:creator><![CDATA[ohmann?!]]></dc:creator><pubDate>Wed, 22 Feb 2006 06:40:54 GMT</pubDate></item><item><title><![CDATA[Reply to + Operator überladen! Funktioniert nicht ganz on Wed, 22 Feb 2006 06:54:31 GMT]]></title><description><![CDATA[<p>ohmann?! schrieb:</p>
<blockquote>
<p>camper schrieb:</p>
<blockquote>
<p>+ kann ohne weiteres direkt auf += von Haus aufbauen</p>
</blockquote>
<p>macht er das nicht?<br />
vielleicht kannst mir das mit einem beispiel erklären?</p>
</blockquote>
<p>Nein, er nutzt nur die selben Anweisungen. Typischerweise kannst du den op+ so schreiben:</p>
<pre><code class="language-cpp">Haus::operator+(const Haus&amp; rhs)
{
  Haus tmp(*this);
  return tmp+=rhs;
}
</code></pre>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/10318">@CStoll</a>: was sollte da zurückgegeben werden?</p>
</blockquote>
<p>ebenfalls *this (oder noch besser - du schiebst den vorhandenen return eine Zeile nach unten (aus dem if()-Block raus))</p>
]]></description><link>https://www.c-plusplus.net/forum/post/999880</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/999880</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 22 Feb 2006 06:54:31 GMT</pubDate></item><item><title><![CDATA[Reply to + Operator überladen! Funktioniert nicht ganz on Wed, 22 Feb 2006 08:17:52 GMT]]></title><description><![CDATA[<p>ohmann?! schrieb:</p>
<blockquote>
<p>camper schrieb:</p>
<blockquote>
<p>operator= und NameAendern sind nicht exception-sicher, wenn das korrigiert wird, kannst du diese funktion direkt für op= verwenden und der test auf selbstzuweisung kann entfallen</p>
</blockquote>
<p>wieso sind sie das nicht?Auch hier wäre mir ein beispiel lieb</p>
</blockquote>
<p>new könnte eine exception auslösen, den alten namen hast du dann aber schon gelöscht (und das führt spätestens im destruktor dann zum doppelten delete). weiterhin erhälst du UB, falls das argument von NameAendern gerade der name des objekts ist, also:</p>
<pre><code class="language-cpp">Haus a;
a.NameAenderna(a.GetName());
</code></pre>
<p>beide probleme erschlägst du durch die richtige reihenfolge:</p>
<pre><code class="language-cpp">void NameAendern(const char* newname)
{
   chat* p = new char[strlen(newname)+1];
   strcpy(p,newname);
   delete[] mName;
   mName=p;
}
</code></pre>
<p>und dann ergibt sich op= folgerichtig als:</p>
<pre><code class="language-cpp">Haus&amp; operator=(const Haus&amp; rhs)
{
   mAnzahlR = rhs.mAnzahlR;
   mFlaeche = rhs.mFlaeche;
   mAnzahlT = rhs.mAnzahlT;
   NameAendern(rhs.GetName());
   return *this;
}
</code></pre>
<p>ungeachtet dessen bleibt der hinweis, besser std::string zu verwenden, bleibt weiterhin gültig (dann ist z.b. die definition von op= unnötig).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/999916</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/999916</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 22 Feb 2006 08:17:52 GMT</pubDate></item><item><title><![CDATA[Reply to + Operator überladen! Funktioniert nicht ganz on Wed, 22 Feb 2006 15:10:09 GMT]]></title><description><![CDATA[<p>wieso muss im zuweisungsoperator mName delete[]et werden?<br />
wird ja im konstruktor auch nich gemacht!</p>
<p>oder muss das garnicht gemacht werden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1000279</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1000279</guid><dc:creator><![CDATA[ohmann?!]]></dc:creator><pubDate>Wed, 22 Feb 2006 15:10:09 GMT</pubDate></item><item><title><![CDATA[Reply to + Operator überladen! Funktioniert nicht ganz on Wed, 22 Feb 2006 15:24:27 GMT]]></title><description><![CDATA[<p>Weil der Konstruktor ein neues Objekt konstruiert. Der Zuweisungsoperator weist einem schonmal konstruierten Objekt etwas neues zu, da muss das alte doch weg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1000295</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1000295</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 22 Feb 2006 15:24:27 GMT</pubDate></item></channel></rss>