<?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[von der Klasse string ableiten]]></title><description><![CDATA[<p>Hallo,</p>
<p>möchte von der Klasse string ableiten.<br />
Habe das so versucht:</p>
<pre><code class="language-cpp">class mystr:public string
{
   private:
   public:
   //Meine eigenen Methoden ....
};
</code></pre>
<p>Wenn ich dann schreibe:</p>
<pre><code class="language-cpp">int main(int argc, char* argv[])
{
   mystr a=&quot;abc&quot;;
   return 0;
}
</code></pre>
<p>bekomme ich die Fehlermeldung 'Konvertierung von char * nach mystr nicht möglich.<br />
Was mache ich falsch oder ist so eine Ableitung nicht Möglich ?</p>
<p>MfG</p>
<p>Michael</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/158786/von-der-klasse-string-ableiten</link><generator>RSS for Node</generator><lastBuildDate>Thu, 10 Sep 2026 07:47:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/158786.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 08 Sep 2006 12:51:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to von der Klasse string ableiten on Fri, 08 Sep 2006 12:51:40 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>möchte von der Klasse string ableiten.<br />
Habe das so versucht:</p>
<pre><code class="language-cpp">class mystr:public string
{
   private:
   public:
   //Meine eigenen Methoden ....
};
</code></pre>
<p>Wenn ich dann schreibe:</p>
<pre><code class="language-cpp">int main(int argc, char* argv[])
{
   mystr a=&quot;abc&quot;;
   return 0;
}
</code></pre>
<p>bekomme ich die Fehlermeldung 'Konvertierung von char * nach mystr nicht möglich.<br />
Was mache ich falsch oder ist so eine Ableitung nicht Möglich ?</p>
<p>MfG</p>
<p>Michael</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1133679</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1133679</guid><dc:creator><![CDATA[Micha1979]]></dc:creator><pubDate>Fri, 08 Sep 2006 12:51:40 GMT</pubDate></item><item><title><![CDATA[Reply to von der Klasse string ableiten on Fri, 08 Sep 2006 13:03:52 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Die fehlermeldung kommt daher, das du keinen Konstruktor für mystr mit einen char* als Parameter anbietest.</p>
<p>Desweiteren solltest du nicht von std:.string ableiten, dafür sind die STL-Klassen nicht ausgelegt!<br />
Sondern du solltest in deine Klasse einen Member von std::string einbauen.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1133689</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1133689</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Fri, 08 Sep 2006 13:03:52 GMT</pubDate></item><item><title><![CDATA[Reply to von der Klasse string ableiten on Fri, 08 Sep 2006 13:05:43 GMT]]></title><description><![CDATA[<p>std::string hat keinen virtuellen destruktor und ist folglich nicht dafür gedacht davon abzuleiten.<br />
du wirst komposition benutzen müssen.</p>
<pre><code class="language-cpp">class FrickelString
{
private:
std::string _string;
...
};
</code></pre>
<p>es gibt auchnoch möglichkeit das mit privater vererbung (kann auch komposition ausdrücken) zu lösen.</p>
<p>frickel :&gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1133691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1133691</guid><dc:creator><![CDATA[ffffffrickel]]></dc:creator><pubDate>Fri, 08 Sep 2006 13:05:43 GMT</pubDate></item><item><title><![CDATA[Reply to von der Klasse string ableiten on Sat, 09 Sep 2006 14:57:58 GMT]]></title><description><![CDATA[<p>Micha1979 schrieb:</p>
<blockquote>
<p>Was mache ich falsch oder ist so eine Ableitung nicht Möglich ?</p>
</blockquote>
<p>Doch, schon. Nur solltest du nicht public ableiten (wegen des bereits angesprochenen nicht-virtuellen dtors). Und explizite ctors werden nicht vererbt. Diese musst du selbst erstellen.</p>
<pre><code class="language-cpp">class mystr:public string
{
   private:
   public:
      mystr(const char* s)
         : string(s)
      {
      }
};
</code></pre>
<p>Aber ob Ableitung hier wirklich sinnvoll ist? Einige Leute würden wohl sagen, dass Layering besser wäre.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1134259</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1134259</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Sat, 09 Sep 2006 14:57:58 GMT</pubDate></item><item><title><![CDATA[Reply to von der Klasse string ableiten on Sat, 09 Sep 2006 16:00:01 GMT]]></title><description><![CDATA[<p>groovemaster schrieb:</p>
<blockquote>
<p>Micha1979 schrieb:</p>
<blockquote>
<p>Was mache ich falsch oder ist so eine Ableitung nicht Möglich ?</p>
</blockquote>
<p>Doch, schon. Nur solltest du nicht public ableiten (wegen des bereits angesprochenen nicht-virtuellen dtors). Und explizite ctors werden nicht vererbt. Diese musst du selbst erstellen.</p>
<pre><code class="language-cpp">class mystr:public string
{
   private:
   public:
      mystr(const char* s)
         : string(s)
      {
      }
};
</code></pre>
<p>Aber ob Ableitung hier wirklich sinnvoll ist? Einige Leute würden wohl sagen, dass Layering besser wäre.</p>
</blockquote>
<p>Da du immern och öffentlich ableitest hast du das Problem mit dem nicht virtuellen d'tor immer noch... <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1134276</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1134276</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Sat, 09 Sep 2006 16:00:01 GMT</pubDate></item><item><title><![CDATA[Reply to von der Klasse string ableiten on Sat, 09 Sep 2006 22:55:24 GMT]]></title><description><![CDATA[<p>Das wurde doch bereits erwähnt. Das Beispiel soll lediglich verdeutlichen, wie der selbst erstellte ctor aussehen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1134447</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1134447</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Sat, 09 Sep 2006 22:55:24 GMT</pubDate></item></channel></rss>