<?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[Abstrakte Klasse vererbt String]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe leider noch nicht so viel Erfahrung mit Objekt Orientierung bei C++, komme mehr aus der Java Ecke.<br />
Ich habe glaube ich ein grundsätzliches Verständnissproblem.</p>
<pre><code class="language-cpp">//Header file: Algorithmus.hpp

#include &lt;string&gt;

class Algorithmus {
public:
    virtual void execute(std::ifstream source, std::ofstream target) const = 0;
protected:
    std::string line;
};
</code></pre>
<p>Die Definitions Geschichten hab ich jetzt mal rausgelassen. Dies ist ja nun nach meiner Auffassung eine abstrakte Klasse. Wenn ich diese nun vererbe müssten alle Erben auf den String zugreifen können. Die Methode muss natürlich implementiert werden.</p>
<p>Das eigentlich Problem ist das wenn ich jetzt in einer geerbten Klasse den String an z.B. getline() weitergeben will ein Fehler auftaucht. Und zwar meint der Compiler der String sei nun vom Typ &quot;std::string Algorithmus::string&quot; und wird somit nicht mehr in der Argumentenliste von getline() angenommen.</p>
<p>Was übersehe ich? Oder hab ich was falsch verstanden?<br />
Vielen Dank schonmal. <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/topic/289173/abstrakte-klasse-vererbt-string</link><generator>RSS for Node</generator><lastBuildDate>Wed, 19 Aug 2026 08:53:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/289173.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 29 Jun 2011 14:37:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Abstrakte Klasse vererbt String on Wed, 29 Jun 2011 14:37:40 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe leider noch nicht so viel Erfahrung mit Objekt Orientierung bei C++, komme mehr aus der Java Ecke.<br />
Ich habe glaube ich ein grundsätzliches Verständnissproblem.</p>
<pre><code class="language-cpp">//Header file: Algorithmus.hpp

#include &lt;string&gt;

class Algorithmus {
public:
    virtual void execute(std::ifstream source, std::ofstream target) const = 0;
protected:
    std::string line;
};
</code></pre>
<p>Die Definitions Geschichten hab ich jetzt mal rausgelassen. Dies ist ja nun nach meiner Auffassung eine abstrakte Klasse. Wenn ich diese nun vererbe müssten alle Erben auf den String zugreifen können. Die Methode muss natürlich implementiert werden.</p>
<p>Das eigentlich Problem ist das wenn ich jetzt in einer geerbten Klasse den String an z.B. getline() weitergeben will ein Fehler auftaucht. Und zwar meint der Compiler der String sei nun vom Typ &quot;std::string Algorithmus::string&quot; und wird somit nicht mehr in der Argumentenliste von getline() angenommen.</p>
<p>Was übersehe ich? Oder hab ich was falsch verstanden?<br />
Vielen Dank schonmal. <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/2086138</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2086138</guid><dc:creator><![CDATA[Jing]]></dc:creator><pubDate>Wed, 29 Jun 2011 14:37:40 GMT</pubDate></item><item><title><![CDATA[Reply to Abstrakte Klasse vererbt String on Wed, 29 Jun 2011 14:43:29 GMT]]></title><description><![CDATA[<p>virtual void execute(std::ifstream source, std::ofstream target) const = 0;</p>
<p>Ist eine konstante Methode und darf das Objekt nicht ändern. Wenn du nun aber line änderst (indem du es an getline übergibst) schreit dein Compiler dass getline keinen const string&amp; erwartet.</p>
<p>Immer Compilerfehlermeldung mitposten bitte und im idealfall ein kleines kompilierbares Beispiel.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2086141</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2086141</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Wed, 29 Jun 2011 14:43:29 GMT</pubDate></item><item><title><![CDATA[Reply to Abstrakte Klasse vererbt String on Wed, 29 Jun 2011 15:17:54 GMT]]></title><description><![CDATA[<p>Weiterhin kann man streams nicht als Kopie übergeben. Das müssen Referenzen sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2086155</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2086155</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Wed, 29 Jun 2011 15:17:54 GMT</pubDate></item><item><title><![CDATA[Reply to Abstrakte Klasse vererbt String on Wed, 29 Jun 2011 15:39:07 GMT]]></title><description><![CDATA[<p>Danke schön für die schnellen Antworten. Werd mich nächstes mal dran halten <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/2086163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2086163</guid><dc:creator><![CDATA[Jing]]></dc:creator><pubDate>Wed, 29 Jun 2011 15:39:07 GMT</pubDate></item></channel></rss>