<?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[Templates und Basisklassen]]></title><description><![CDATA[<p>Hallo Liebe Community,</p>
<p>ich bin relativ unbegabt was tempaltes angeht habe hier noch wenig erfahrungen. Mir ist (wie ich denke) klar wie templates funktionieren.<br />
Ich habe ein etwas spezielleres problem. Ich habe ein minimalbeispiel erstellt was aus meinem großen projekt eigentlich das wiederspiegelt woran ich hänge:</p>
<p>Ich habe 2 klassen D1, D2 die von einer Basisklasse Base erben.<br />
Je nach &quot;flag&quot; instantiiere ich entweder D1 oder D2. Hier jetzt D1.</p>
<p>D1 hat einen templatebasierten member mtx der vom typ double ist.<br />
D2 hat einen templatebasierten member mtx der vom typ int ist.</p>
<p>Dann habe ich eine normale (also nicht templatebasierte) Klasse ENV.<br />
Ich möchte jetzt in ENV sozusagen templatespezialisierte Methoden<br />
haben die je nach mtx-typ entweder copy&lt;double&gt; oder copy&lt;int&gt; aufrufen.<br />
Das aber nur im übertragenen sinne - ich möchte nämlich NICHT!!! ENV in eine templatebasierte klasse umschreiben müssen. Das würde bei meinem großen Projekt totalen overkill bedeuten.</p>
<p>FRAGE: Habe ich eine andere Möglichkeit in ENV eine Art überladene Methode haben die je nach typ von mtx von base (b-&gt;mtx) entweder die eine methode anspringt oder die andere? Geht das?</p>
<p>Über eine geduldige und gut formulierte Antwort würde ich mich freuen <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>
<p>Danke.<br />
Unten ist das Minimalbeispiel</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;stdexcept&gt;
#include &lt;memory&gt;
#include &lt;stdexcept&gt; 
template&lt;class T&gt; 
class Mtx
{
public:
        Mtx() { a = new T[10];}

        ~Mtx() { if (a) delete [] a;}

        T *a;
};

class Base
{
        public:
           virtual ~Base() {  };
           virtual void foo() = 0;
};

class D1 : public Base
{
        public:
                D1() { mtx = new Mtx&lt;double&gt;(); }
                ~D1() { delete mtx; }
                void foo() {     
                      std::cout &lt;&lt; &quot;Hallo D1&quot; &lt;&lt; std::endl;                          
                }

        private:
                Mtx&lt;double&gt;* mtx; 
};
class D2 : public Base
{
        public:
                D2() { mtx = new Mtx&lt;int&gt;(); }
                ~D2() { delete mtx; }

                void foo() {     

                }

        private:
                Mtx&lt;int&gt;* mtx; 

};

class ENV
{
        public: 
                void method_1(Base* b)
                {
                    copy(b);         
                }

                //!!! Ich möchte gerne hier an dieser stelle
                // 2 copy methoden haben die vom typ entweder double oder
                // int arrays kopieren. Je nach dem welchen typ das element mtx von 
                // der klasse D1 bzw. D2 hat. Geht das überhaupt?
                // So gehts auf jedenfall nicht:
                void copy(Base* b)
                {
                    int* copy_a = new int[10];
                    memcpy(copy_a,b-&gt;mtx-&gt;a,10*sizeof(int));    
                }
};

int main(int argc, char** argv)
{
        Base * base = NULL;
        ENV env;               

        if (true) base = new D1();
        else base = new D2();

        base-&gt;foo();
        env.method_1(base);           

        delete base;

        return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/266755/templates-und-basisklassen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 02 Sep 2026 18:12:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/266755.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 13 May 2010 19:30:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Templates und Basisklassen on Thu, 13 May 2010 19:30:22 GMT]]></title><description><![CDATA[<p>Hallo Liebe Community,</p>
<p>ich bin relativ unbegabt was tempaltes angeht habe hier noch wenig erfahrungen. Mir ist (wie ich denke) klar wie templates funktionieren.<br />
Ich habe ein etwas spezielleres problem. Ich habe ein minimalbeispiel erstellt was aus meinem großen projekt eigentlich das wiederspiegelt woran ich hänge:</p>
<p>Ich habe 2 klassen D1, D2 die von einer Basisklasse Base erben.<br />
Je nach &quot;flag&quot; instantiiere ich entweder D1 oder D2. Hier jetzt D1.</p>
<p>D1 hat einen templatebasierten member mtx der vom typ double ist.<br />
D2 hat einen templatebasierten member mtx der vom typ int ist.</p>
<p>Dann habe ich eine normale (also nicht templatebasierte) Klasse ENV.<br />
Ich möchte jetzt in ENV sozusagen templatespezialisierte Methoden<br />
haben die je nach mtx-typ entweder copy&lt;double&gt; oder copy&lt;int&gt; aufrufen.<br />
Das aber nur im übertragenen sinne - ich möchte nämlich NICHT!!! ENV in eine templatebasierte klasse umschreiben müssen. Das würde bei meinem großen Projekt totalen overkill bedeuten.</p>
<p>FRAGE: Habe ich eine andere Möglichkeit in ENV eine Art überladene Methode haben die je nach typ von mtx von base (b-&gt;mtx) entweder die eine methode anspringt oder die andere? Geht das?</p>
<p>Über eine geduldige und gut formulierte Antwort würde ich mich freuen <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>
<p>Danke.<br />
Unten ist das Minimalbeispiel</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;stdexcept&gt;
#include &lt;memory&gt;
#include &lt;stdexcept&gt; 
template&lt;class T&gt; 
class Mtx
{
public:
        Mtx() { a = new T[10];}

        ~Mtx() { if (a) delete [] a;}

        T *a;
};

class Base
{
        public:
           virtual ~Base() {  };
           virtual void foo() = 0;
};

class D1 : public Base
{
        public:
                D1() { mtx = new Mtx&lt;double&gt;(); }
                ~D1() { delete mtx; }
                void foo() {     
                      std::cout &lt;&lt; &quot;Hallo D1&quot; &lt;&lt; std::endl;                          
                }

        private:
                Mtx&lt;double&gt;* mtx; 
};
class D2 : public Base
{
        public:
                D2() { mtx = new Mtx&lt;int&gt;(); }
                ~D2() { delete mtx; }

                void foo() {     

                }

        private:
                Mtx&lt;int&gt;* mtx; 

};

class ENV
{
        public: 
                void method_1(Base* b)
                {
                    copy(b);         
                }

                //!!! Ich möchte gerne hier an dieser stelle
                // 2 copy methoden haben die vom typ entweder double oder
                // int arrays kopieren. Je nach dem welchen typ das element mtx von 
                // der klasse D1 bzw. D2 hat. Geht das überhaupt?
                // So gehts auf jedenfall nicht:
                void copy(Base* b)
                {
                    int* copy_a = new int[10];
                    memcpy(copy_a,b-&gt;mtx-&gt;a,10*sizeof(int));    
                }
};

int main(int argc, char** argv)
{
        Base * base = NULL;
        ENV env;               

        if (true) base = new D1();
        else base = new D2();

        base-&gt;foo();
        env.method_1(base);           

        delete base;

        return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1896806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1896806</guid><dc:creator><![CDATA[Zettel++]]></dc:creator><pubDate>Thu, 13 May 2010 19:30:22 GMT</pubDate></item><item><title><![CDATA[Reply to Templates und Basisklassen on Thu, 13 May 2010 21:55:49 GMT]]></title><description><![CDATA[<p>Du willst aus einer Basisklasse auf ein Element einer abgeleiteten Klasse zugreifen. Das geht aber schlicht und einfach nicht. Und da kannst du dir auch nicht mit Templates helfen, da dies <strong>Laufzeit</strong>polymorphie betrifft und Templates zur <strong>Kompilezeit</strong> ausgewertet werden.</p>
<p>Das einzige was gehen würde, allerdings ist es nicht so sauber und ich weiss nicht, ob es dir behilflich ist, wäre eine Art Visitor-Pattern anzuwenden.</p>
<pre><code class="language-cpp">struct visitor
{
  void operator ()(mtx&lt;int&gt; const&amp; mtx) const
  {
    // ...
  }

  void operator ()(mtx&lt;double&gt; const&amp; mtx) const
  {
    // ...
  }
};

class base
{
private:
  // Damit Nexus nichts rumzumeckern hat ...
  virtual void handle_visitor(visitor const&amp; visitor) const;

public:
  void visit(visitor const&amp; visitor) const;
};

class derived_01
  : public base
{
private:
  virtual void handle_visitor(visitor const&amp; visitor) const
  {
    visitor(m_mtx);
  }

  mtx&lt;int&gt; m_mtx;
};

class derived_02
  : public base
{
private:
  virtual void handle_visitor(visitor const&amp; visitor) const
  {
    visitor(m_mtx);
  }

  mtx&lt;double&gt; m_mtx;
};

int main()
{
  base* base = 0;

  if(/*condition*/)
  {
    base = new D1();
  }
  else
  {
    base = new D2();
  }

  visitor v;
  base-&gt;visit(v);

  delete base;

  return 0;
}
</code></pre>
<p>So kannst du zwar unterschiedlich reagieren, schränkst dich aber auf die Typen im <code>visitor</code> ein. Zudem kannst du nur im <code>visitor</code> auf die Unterschiede sinnvoll reagieren. Die unterschiedlichen Arrays zurückgeben, ist nur wieder sehr einschränkend und nochmals sehr unsauber.</p>
<p>Ich rate eher dazu, nochmals das Design an sich zu überdenken.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1896872</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1896872</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Thu, 13 May 2010 21:55:49 GMT</pubDate></item><item><title><![CDATA[Reply to Templates und Basisklassen on Sat, 15 May 2010 13:09:05 GMT]]></title><description><![CDATA[<p>Vielen Dank erstmal für die Antwort!<br />
Ich bin mir leider nicht sicher ob wir uns missverstanden haben oder nicht. Ich habe jetzt nochmal genau im hauptcode nachgeschaut und die klassen-und-abhängigkeitsstruktur in einem <strong>NEUEN!</strong> Minimalbeispiel<br />
erstellt.<br />
Ich versuche nochmals genauer mein Prinzip klar zu machen:<br />
* Ich möchte Kompilezeitpolymorphie. Deswgen je nach FLAG und templateabhängig die instantiierung von Admin.<br />
* Dann habe ich die abgeleitete Klasse FieldD von FieldBase und die Templateklasse Mtx.<br />
* FieldD hat einen Member der Mtx&lt;double&gt; ist.<br />
* In der main instantiiere ich dann zur Laufzeit mtx je nach Typ. Hier gibt es<br />
jetzt nur den Mtx&lt;double&gt; Typ. (Im hauptcode natürlich mehrere). Hier ist also<br />
Laufzeitpolymorphie.</p>
<p>Was ich erreichen wollte/möchte:<br />
* Ich möchte nun auf dem zur laufzeit erstellten mtx (Field_Base) (siehe main)<br />
je nach instantiierter Klasse z.B. die Methode foo() aufrufen.<br />
* In foo() wird jetzt je nach Admin-Template entweder D1 oder D2 angesprungen. (Hier D2).</p>
<p>Fragen:</p>
<ol>
<li>
<p>*UNd in D2 würde ich jetzt gerne template-abhängig - also vom typ von mtx<br />
sachen machen. Z.B. hätte ich gern sowohl template-methoden also auch template-spezialisierungen (z.B. void bar2(Mtx&lt;double&gt; <em>mtx) { ...})<br />
Geht das?</em></p>
</li>
<li>
<p><em>Wenn 1) nicht gehen sollte - wie kann ich es sauber hinbekommen? Im Moment hänge ich wirklich an einem Punkt an dem ich nicht weiterweiß. Je genauer die antwort desto mehr wird mir geholfen! Danke hier schonmal. Ich möchte eine saubere und am liebsten natürlihc mit geringstem Aufwand zu erbringende Lösung. Habe ich eine Chance?</em></p>
</li>
</ol>
<p>Danke euch <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

class D1
{
    public:
        void bar() {
            std::cout &lt;&lt; &quot;D1::bar(): Eine Methode die auf nix zugreift und&quot; 
                        &quot; Sachen macht&quot; &lt;&lt; std::endl;      
        }
        void bar2() {
            std::cout &lt;&lt; &quot;D1::bar2(): weitere methode&quot; &lt;&lt; std::endl;       
        }
};

class D2
{
    public:
        void bar() {
            std::cout &lt;&lt; &quot;D2::bar(): Eine Methode die auf nix zugreift und&quot; 
                        &quot; Sachen macht&quot; &lt;&lt; std::endl;      
        }
        void bar2() {
            std::cout &lt;&lt; &quot;D1::bar2(): weitere methode&quot; &lt;&lt; std::endl; 
            // !!!!!!!! HIer will ich jetzt auf template abhängig auf mtx zugreifen -
            // also z.B. so - ich weiß aber nicht wie:      
            // Ich würde gerne einen template-abhängigen member haben so dass ich 
            // bar2() überladen könnte mit templat-spezialisierungen - also:
            // void bar2(Mtx&lt;double&gt; *mtx) {...} und void bar2(Mtx&lt;int&gt; *mtx)
            // KÖnnte ich in FieldD in der methode foo einfach env.bar2(this)
            // setzen? Aber ich kann ja hier dann so nicht template-abhängig
            // prüfen.
        }
};

class Admin_Base
{
    public:
        virtual void bar() = 0;
        virtual void bar2() = 0;      
};

template &lt;class T_D&gt;
class Admin : public Admin_Base
{
    public:
        void bar() {
            env.bar();
        }
        void bar2() {
            env.bar2();
        }
    private:    
        T_D env;   
};

template &lt;class T&gt;
class Mtx
{
    public:
        Mtx() {len = 9;}
        int len;  
};

class Field_Base
{
    public:
        virtual void foo(Admin_Base&amp; env) = 0;      
};

class FieldD : public Field_Base
{
    public:

    void foo(Admin_Base&amp; env) 
    {
        mtx = new Mtx&lt;double&gt;();
        std::cout &lt;&lt; mtx-&gt;len &lt;&lt; std::endl;
        env.bar2();
        delete mtx;
    }

    Mtx&lt;double&gt; *mtx;      
};

int main(int argc, char** argv)
{
#ifdef FLAG
        Admin&lt;D1&gt; myAdmin;
#else
        Admin&lt;D2&gt; myAdmin;
#endif  

        Field_Base      *mtx = NULL;

        if (true) mtx = new FieldD();

        mtx-&gt;foo(myAdmin);

        myAdmin.bar();

        return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1897527</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1897527</guid><dc:creator><![CDATA[Zettel++]]></dc:creator><pubDate>Sat, 15 May 2010 13:09:05 GMT</pubDate></item><item><title><![CDATA[Reply to Templates und Basisklassen on Sat, 15 May 2010 14:17:48 GMT]]></title><description><![CDATA[<p>So ich habe nun selbt etwas versucht. Ich wäre sehr sehr froh wenn jemand etwas dazu sagen könnte:</p>
<p>Ich könnte mir doch einen Basisklassen Poitner (Com_Base) erschaffen und dann eine templatebasierte ableitende klasse erstellten. In dieser Template-klasse halte ich einen Mtx&lt;T&gt; Pointer und diesen setze ich eben aus der FieldD::foo() Methode mit setcombase(). Dann kann ich doch<br />
innherlb der D1 und D2 halt auf ein templateobjekt zugreifen (nach laufzeitpolymorphie) und so dann templatebedingt springen !?</p>
<p><strong>Ist das unsauber oder unschön?</strong></p>
<p>Gibt es eine bessere schönere idee?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

template &lt;class T&gt;
class Mtx
{
    public:
        Mtx() {len = 9;}
        int len;  
};

class Com_Base
{
        public:    
                virtual void Comfoo() = 0;
                virtual void Combar(Mtx&lt;double&gt; *mtx) = 0;  
                virtual void Combar(Mtx&lt;int&gt; *mtx) = 0;
};

template &lt;class T&gt;
class Com : public Com_Base
{
        public:
            Com(Mtx&lt;T&gt; *mtx_) {mtx = mtx_;}
            void Comfoo();  
            void Combar(Mtx&lt;double&gt; *mtx){
                    std::cout &lt;&lt; &quot;Combar(Mtx&lt;double&gt;)&quot;&lt;&lt; std::endl;
            }
            void Combar(Mtx&lt;int&gt; *mtx){
                    std::cout &lt;&lt; &quot;Combar(Mtx&lt;int&gt;)&quot;&lt;&lt; std::endl;
            }

         Mtx&lt;T&gt; *mtx;
};
// template&lt;&gt;
// void Com&lt;double&gt;::Combar(Mtx&lt;double&gt;* mtx)
// {
//         
// }
// template&lt;&gt;
// void Com&lt;int&gt;::Combar(Mtx&lt;int&gt;* mtx)
// {
//         
// }
template&lt;class T&gt;
void Com&lt;T&gt;::Comfoo()
{

}

//////////////////////////
class D1
{
    public:
        void bar() {
            std::cout &lt;&lt; &quot;D1::bar(): Eine Methode die auf nix zugreift und&quot; 
                        &quot; Sachen macht&quot; &lt;&lt; std::endl;      
        }
        void bar2(Mtx&lt;double&gt;* mtx) {
            std::cout &lt;&lt; &quot;D1::bar2(): weitere methode&quot; &lt;&lt; std::endl;       
        }
        void setcombase(Mtx&lt;double&gt; *mtx) {
                std::cout &lt;&lt; &quot;D1::setcombase(Mtx&lt;double&gt;)&quot; &lt;&lt; std::endl;
             //combase = new Com&lt;double&gt;(mtx);       
        }
        Com_Base* combase;
};

class D2
{
    public:
        void bar() {
            std::cout &lt;&lt; &quot;D2::bar(): Eine Methode die auf nix zugreift und&quot; 
                        &quot; Sachen macht&quot; &lt;&lt; std::endl;      
        }
        void bar2(Mtx&lt;double&gt;* mtx) {
            std::cout &lt;&lt; &quot;D1::bar2(): weitere methode&quot; &lt;&lt; std::endl; 
            // !!!!!!!! HIer will ich jetzt auf template abhängig auf mtx zugreifen -
            combase-&gt;Combar(mtx);
        }
        void setcombase(Mtx&lt;double&gt; *mtx) {
                std::cout &lt;&lt; &quot;D2::setcombase(Mtx&lt;double&gt;)&quot; &lt;&lt; std::endl;
             combase = new Com&lt;double&gt;(mtx);       
        }
        void setcombase(Mtx&lt;int&gt; *mtx) {
                std::cout &lt;&lt; &quot;D2::setcombase(Mtx&lt;int&gt;)&quot; &lt;&lt; std::endl;
             combase = new Com&lt;int&gt;(mtx);       
        }
        Com_Base* combase;
};

class Admin_Base
{
    public:
        virtual void bar() = 0;
        virtual void bar2(Mtx&lt;double&gt;* mtx) = 0;   
        virtual void setcombase(Mtx&lt;double&gt;* mtx) = 0;
        virtual void setcombase(Mtx&lt;int&gt;* mtx) = 0;     
};

template &lt;class T_D&gt;
class Admin : public Admin_Base
{
    public:
        void bar() {
            env.bar();
        }
        void bar2(Mtx&lt;double&gt;* mtx) {
            env.bar2(mtx);
        }
        void setcombase(Mtx&lt;double&gt;* mtx) {
                env.setcombase(mtx);
        }
        void setcombase(Mtx&lt;int&gt;* mtx) {
                env.setcombase(mtx);
        }
    private:    
        T_D env;   
};

class Field_Base
{
    public:
        virtual void foo(Admin_Base&amp; env) = 0;      
};

class FieldD : public Field_Base
{
    public:

    void foo(Admin_Base&amp; env) 
    {
        mtx = new Mtx&lt;double&gt;();
        std::cout &lt;&lt; mtx-&gt;len &lt;&lt; std::endl;
        env.setcombase(mtx);
        env.bar2(mtx);
        delete mtx;
    }

    Mtx&lt;double&gt; *mtx;      
};

int main(int argc, char** argv)
{
#ifdef FLAG
        Admin&lt;D1&gt; myAdmin;
#else
        Admin&lt;D2&gt; myAdmin;
#endif  

        Field_Base      *mtx = NULL;

        if (true) mtx = new FieldD();

        mtx-&gt;foo(myAdmin);

        myAdmin.bar();

        return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1897556</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1897556</guid><dc:creator><![CDATA[Zettel++]]></dc:creator><pubDate>Sat, 15 May 2010 14:17:48 GMT</pubDate></item><item><title><![CDATA[Reply to Templates und Basisklassen on Sat, 15 May 2010 23:27:29 GMT]]></title><description><![CDATA[<p>Also ich bin mir nicht ganz sicher aber ich meine das du solch eine Überladung machen kannst mit einer sogenannten &quot;FRIEND&quot; funktion in dem du der Basisklasse einfach ein Friend flag gibst und dann kannst du mit einer fremden klasse darauf zugreifen bzw. das funktioniert so als wäre die klasse mit welcher du zugreifen willst eine Unterklasse jedoch darf es keine sein , also keine Ableitung der Basisklasse wo du das machst.</p>
<p>Google einfach mal nach friend... c++ ..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1897749</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1897749</guid><dc:creator><![CDATA[BesucherNachtUm1auslangew]]></dc:creator><pubDate>Sat, 15 May 2010 23:27:29 GMT</pubDate></item><item><title><![CDATA[Reply to Templates und Basisklassen on Sun, 16 May 2010 10:33:34 GMT]]></title><description><![CDATA[<p>hmm ja danke für den tip. evtl. geht solch eine überladung ja dann mit friend. Allerdings wäre meine frage gewesen ob das Prinzip dass dahintersteckt sauber ist. Also z.B. habe ich ja extra einen basisklasse Com_Base wovon ich dann nur eine einzige klasse Com ableite damit ich hier die möglichkeit habe templatebasiert zuzugreifen. Ist das sauber?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1897802</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1897802</guid><dc:creator><![CDATA[Zettel++]]></dc:creator><pubDate>Sun, 16 May 2010 10:33:34 GMT</pubDate></item><item><title><![CDATA[Reply to Templates und Basisklassen on Sun, 16 May 2010 15:19:02 GMT]]></title><description><![CDATA[<p>Hmm....braucht ihr noch irgendwelche Informationen oder ist das beispiel zu unverständlich? Kann ich euch irgendwie entgegenkommen damit ein Dialog entsteht?</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1897959</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1897959</guid><dc:creator><![CDATA[Zettel++]]></dc:creator><pubDate>Sun, 16 May 2010 15:19:02 GMT</pubDate></item><item><title><![CDATA[Reply to Templates und Basisklassen on Sun, 16 May 2010 15:35:01 GMT]]></title><description><![CDATA[<p>Ich bin bei deiner Beschreibung nicht ganz nachgekommen (vor allem bei &quot;Templateobjekt&quot; und &quot;templatebedingt springen&quot;). Ein minimales Codebeispiel, das dein Problem verdeutlicht und irrelevante Dinge weglässt, wäre sicher auch besser als 150 Zeilen Code, von denen der grösste Teil nur vom eigentlichen Problem ablenkt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1897964</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1897964</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 16 May 2010 15:35:01 GMT</pubDate></item></channel></rss>