<?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[Klassen definieren]]></title><description><![CDATA[<p>sali leute von diesem supportboard!</p>
<p>ich habe in meinem buch(C++ in 21tagen und für Anfänger)über Klassen gelesen und verstehe noch immer nicht,wie man sie richtig benutzen kann und wofür sie gut sind.<br />
Mein Code lautet so:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;string&gt;

class sales_item {
    public:
    //frage
    private:
    std::string isbn;
};
int main()
{
    std::cout&lt;&lt;&quot;Hallo &quot;;
    std::cin.get();
}
</code></pre>
<p>Aber frage ich folgendes:</p>
<p>1.Wozu braucht man eine Klasse??</p>
<p>2.Wie schreibt man eine Klasse,also ein Beispiel bräuchte ich?</p>
<p>3.Was kann man bei <strong>public:</strong> und <strong>private:</strong> hineinschreiben?</p>
<p>bitte beantwortet mir diese fragen,ansonsten kann ich das mit c++ vergessen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>roland</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/152037/klassen-definieren</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 02:47:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/152037.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 02 Jul 2006 10:39:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klassen definieren on Sun, 02 Jul 2006 10:39:30 GMT]]></title><description><![CDATA[<p>sali leute von diesem supportboard!</p>
<p>ich habe in meinem buch(C++ in 21tagen und für Anfänger)über Klassen gelesen und verstehe noch immer nicht,wie man sie richtig benutzen kann und wofür sie gut sind.<br />
Mein Code lautet so:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;string&gt;

class sales_item {
    public:
    //frage
    private:
    std::string isbn;
};
int main()
{
    std::cout&lt;&lt;&quot;Hallo &quot;;
    std::cin.get();
}
</code></pre>
<p>Aber frage ich folgendes:</p>
<p>1.Wozu braucht man eine Klasse??</p>
<p>2.Wie schreibt man eine Klasse,also ein Beispiel bräuchte ich?</p>
<p>3.Was kann man bei <strong>public:</strong> und <strong>private:</strong> hineinschreiben?</p>
<p>bitte beantwortet mir diese fragen,ansonsten kann ich das mit c++ vergessen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>roland</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090004</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090004</guid><dc:creator><![CDATA[Stronghold_$niper]]></dc:creator><pubDate>Sun, 02 Jul 2006 10:39:30 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen definieren on Sun, 02 Jul 2006 11:03:08 GMT]]></title><description><![CDATA[<p>Stronghold_$niper schrieb:</p>
<blockquote>
<p>sali leute von diesem supportboard!</p>
</blockquote>
<p>verdammt, ich dachte das sei ein C/C++ Forum <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Stronghold_$niper schrieb:</p>
<blockquote>
<p>ich habe in meinem buch(C++ in 21tagen und für Anfänger) [...]</p>
</blockquote>
<p>Ich glaub' das ist wohl <em>das</em> Buch, von dem am alleröftesten abgeraten wird...</p>
<p>Stronghold_$niper schrieb:</p>
<blockquote>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;string&gt;

class sales_item {
    public:
    //frage
    private:
    std::string isbn;
};
int main()
{
    std::cout&lt;&lt;&quot;Hallo &quot;;
    std::cin.get();
}
</code></pre>
</blockquote>
<p>Stronghold_$niper schrieb:</p>
<blockquote>
<p>1. Wozu braucht man eine Klasse??</p>
</blockquote>
<p>Brauchen tut man sie nicht unbedingt. Man benutzt sie, um Objektorientert modellieren zu können. Für die Funktion deines Beispiels ist die Klasse <em>sales_item</em> irrelevant.</p>
<p>Stronghold_$niper schrieb:</p>
<blockquote>
<p>2. Wie schreibt man eine Klasse,also ein Beispiel bräuchte ich?</p>
</blockquote>
<p>zB. so:</p>
<pre><code class="language-cpp">class foo {
    private:
        int bar;
    public:
        foo() : bar( 0 ) { };
        ~foo() { };
        void set_bar( int b ) { bar = b; };
        int get_bar( ) { return bar; };
};
</code></pre>
<p>Stronghold_$niper schrieb:</p>
<blockquote>
<p>3. Was kann man bei public: und private: hineinschreiben?</p>
</blockquote>
<p>Definitionen und Deklarationen</p>
<p>Stronghold_$niper schrieb:</p>
<blockquote>
<p>bitte beantwortet mir diese fragen,ansonsten kann ich das mit c++ vergessen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
</blockquote>
<p>Wenn du nicht bereit bist, dir diese drei Fragen mit zuhilfenahme eines Buches bzw. Google zu beantworten wirst du die Programmierung voraussichtlich sowieso aufgeben...</p>
<p>Greetz, Swordfish</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090014</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090014</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Sun, 02 Jul 2006 11:03:08 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen definieren on Sun, 02 Jul 2006 11:19:25 GMT]]></title><description><![CDATA[<p>Danke swordfish für die antwort.<br />
zum thema zurück:</p>
<p>ich habe nun weitergelesen und da steht,dass man im private: bereich eigentlich nur für nicht öffentliche sachen reinschreiben soll,was bedeutet das?Wie kann ich das dann benutzen,wenn es nicht öffentlich ist?</p>
<p>Bei public: kann ich ja auch nichts reinschreiben,nichtmal int main; oder so...</p>
<p>roland</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090024</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090024</guid><dc:creator><![CDATA[Stronghold_$niper]]></dc:creator><pubDate>Sun, 02 Jul 2006 11:19:25 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen definieren on Sun, 02 Jul 2006 11:29:28 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>privat bedeutet, dass von &quot;außen&quot; nicht auf diese Funktionen oder Variablen zugegriffen werden kann, aber die eine Insatnz selber kann das natürlich. In der Regel sind alle Variable privat und wenn man diese von außen ändern oder abrufen möchte, schreibt man setter und getter Methoden.</p>
<p>was meinst du mit:</p>
<p>Stronghold_$niper schrieb:</p>
<blockquote>
<p>Bei public: kann ich ja auch nichts reinschreiben,nichtmal int main; oder so...</p>
</blockquote>
<p>Warum kannst du da nichts reinschreiben? int main() gehört überhaupt nicht in die Klasse.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090027</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090027</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 02 Jul 2006 11:29:28 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen definieren on Sun, 02 Jul 2006 11:39:17 GMT]]></title><description><![CDATA[<p>chrische5 schrieb:</p>
<blockquote>
<p>Hallo</p>
<p>privat bedeutet, dass von &quot;außen&quot; nicht auf diese Funktionen oder Variablen zugegriffen werden kann, aber die eine Insatnz selber kann das natürlich. In der Regel sind alle Variable privat und wenn man diese von außen ändern oder abrufen möchte, schreibt man setter und getter Methoden.</p>
</blockquote>
<p>Was meinst du mit setter und getter-Methoden?</p>
<p>chrische5 schrieb:</p>
<blockquote>
<p>was meinst du mit:</p>
<p>Stronghold_$niper schrieb:</p>
<blockquote>
<p>Bei public: kann ich ja auch nichts reinschreiben,nichtmal int main; oder so...</p>
</blockquote>
</blockquote>
<p>Also zum Beispiel:</p>
<pre><code class="language-cpp">class {
public:
int main;
char a;
private:
int b;
std::string ao = &quot;Hallo&quot;; 
}
</code></pre>
<p>... meine ich <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="🙂"
    /> - Das in Public geht garnicht mal.. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>chrische5 schrieb:</p>
<blockquote>
<p>Warum kannst du da nichts reinschreiben?</p>
</blockquote>
<p>Weiß nicht .. also wenn ich es so reinschreibe,wie eine Frage oben in dieser Antwort.</p>
<p>chrische5 schrieb:</p>
<blockquote>
<p>int main() gehört überhaupt nicht in die Klasse.</p>
</blockquote>
<p>Das weiß ich doch selber,ich meinte halt <strong>int a;</strong>(Zuweisungen/Definitionen) oder so.</p>
<p>chrische5 schrieb:</p>
<blockquote>
<p>chrische</p>
</blockquote>
<p>Grüße Ronald <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090036</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090036</guid><dc:creator><![CDATA[Stronghold_$niper]]></dc:creator><pubDate>Sun, 02 Jul 2006 11:39:17 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen definieren on Sun, 02 Jul 2006 11:51:12 GMT]]></title><description><![CDATA[<p>chrische5 schrieb:</p>
<blockquote>
<p>privat bedeutet, dass von &quot;außen&quot; nicht auf diese Funktionen oder Variablen zugegriffen werden kann, aber die eine Insatnz selber kann das natürlich.</p>
</blockquote>
<p>Nicht ganz. Alle Instanzen und statischen Member können darauf zugreifen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090043</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090043</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Sun, 02 Jul 2006 11:51:12 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen definieren on Sun, 02 Jul 2006 11:54:29 GMT]]></title><description><![CDATA[<p>Was sind statische Member?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090045</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090045</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Sun, 02 Jul 2006 11:54:29 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen definieren on Sun, 02 Jul 2006 11:56:08 GMT]]></title><description><![CDATA[<p>Ich hatte das so gemeint,warum es nicht geht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;string&gt;

class namel {
    private:
    std::string name;
};
int main()
{
    std::cout&lt;&lt;&quot;Wähle ein Namen für dein Auto: &quot;;
    std::cin&gt;&gt;name;
    std::cout&lt;&lt;&quot;\nDer Name für das Auto lautet &quot;&lt;&lt;name;
    std::cout&lt;&lt;&quot;\n Nummer: &quot;;
    std::cin&gt;&gt;name;
}
</code></pre>
<p>also bedeutet das,dass private doch nicht öffentlich funktioniert ... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Roland</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090047</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090047</guid><dc:creator><![CDATA[Stronghold_$niper]]></dc:creator><pubDate>Sun, 02 Jul 2006 11:56:08 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen definieren on Sun, 02 Jul 2006 12:02:23 GMT]]></title><description><![CDATA[<p>Mit Setter und Getter methoden meint er methoden der Klasse die public deklariert sein sollten (da sie sonst überhaupt nix bringen :D), mit denen du auf meistens Variablen zugreifen kannst welche private deklariert sind.</p>
<p>Da dir das verstandnis von public und private immer noch schwer fehlt, hier einmal ein Beispiel:</p>
<pre><code class="language-cpp">class Test {
public:
   char a;
private:
   int b;
};

int main()
{
    Test c; //instanz von Test mit name &quot;c&quot; erzeugen
    c.b = 1337; //Das wird nicht funktionieren da wir keine Variablen von ausen ändern können die private sind
    c.a = 's' //Das funktioniert, da &quot;a&quot; in Test public deklariert ist
return 0;
}
</code></pre>
<p>Hoffe das hat dir geholfen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>mfg tobZel<br />
:schland: :schland:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090048</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090048</guid><dc:creator><![CDATA[tobZel]]></dc:creator><pubDate>Sun, 02 Jul 2006 12:02:23 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen definieren on Sun, 02 Jul 2006 12:00:53 GMT]]></title><description><![CDATA[<p>Michael E. schrieb:</p>
<blockquote>
<p>chrische5 schrieb:</p>
<blockquote>
<p>privat bedeutet, dass von &quot;außen&quot; nicht auf diese Funktionen oder Variablen zugegriffen werden kann, aber die eine Insatnz selber kann das natürlich.</p>
</blockquote>
<p>Nicht ganz. Alle Instanzen und statischen Member können darauf zugreifen.</p>
</blockquote>
<p>Und friend Funktionen können auch noch darauf zugreifen. :schland:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090049</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090049</guid><dc:creator><![CDATA[tobZel]]></dc:creator><pubDate>Sun, 02 Jul 2006 12:00:53 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen definieren on Sun, 02 Jul 2006 12:05:27 GMT]]></title><description><![CDATA[<p>Stronghold_$niper schrieb:</p>
<blockquote>
<p>Ich hatte das so gemeint,warum es nicht geht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;string&gt;

class namel {
    private:
    std::string name;
};
int main()
{
    std::cout&lt;&lt;&quot;Wähle ein Namen für dein Auto: &quot;;
    std::cin&gt;&gt;name;
    std::cout&lt;&lt;&quot;\nDer Name für das Auto lautet &quot;&lt;&lt;name;
    std::cout&lt;&lt;&quot;\n Nummer: &quot;;
    std::cin&gt;&gt;name;
}
</code></pre>
<p>also bedeutet das,dass private doch nicht öffentlich funktioniert ... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Roland</p>
</blockquote>
<p>Hm, wenn man english kann was man das private nicht öffentlich sein kan <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Und so wie du ne Klasse benutzt kann das auch nix werden du muss ersteinmal ne Instanz deiner Klasse erstellen sonst existiert die ja nur in der &quot;theorie&quot; (Bischen komisch ausgedrückt).</p>
<p>mfg tobZel :schland:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090051</guid><dc:creator><![CDATA[tobZel]]></dc:creator><pubDate>Sun, 02 Jul 2006 12:05:27 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen definieren on Sun, 02 Jul 2006 12:09:52 GMT]]></title><description><![CDATA[<p>tobZel schrieb:</p>
<blockquote>
<p>Mit Setter und Getter methoden meint er methoden der Klasse die public deklariert sein sollten (da sie sonst überhaupt nix bringen :D), mit denen du auf meistens Variablen zugreifen kannst welche private deklariert sind.</p>
<p>Da dir das verstandnis von public und private immer noch schwer fehlt, hier einmal ein Beispiel:</p>
<pre><code class="language-cpp">class Test {
public:
   char a;
private:
   int b;
};

int main()
{
    Test c; //instanz von Test mit name &quot;c&quot; erzeugen
    c.b = 1337; //Das wird nicht funktionieren da wir keine Variablen von ausen ändern können die private sind
    c.a = 's' //Das funktioniert, da &quot;a&quot; in Test public deklariert ist
return 0;
}
</code></pre>
<p>Hoffe das hat dir geholfen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>mfg tobZel<br />
:schland: :schland:</p>
</blockquote>
<p>geht doch überhaupt nicht mal,der code:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;string&gt;
class Test {
public:
   char a;
private:
   int b;
};

int main()
{
    Test c; //instanz von Test mit name &quot;c&quot; erzeugen
    c.b = 1337; //Das wird nicht funktionieren da wir keine Variablen von ausen ändern können die private sind
    c.a = 's' //Das funktioniert, da &quot;a&quot; in Test public deklariert ist
return 0;
}
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090053</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090053</guid><dc:creator><![CDATA[Stronghold_$niper]]></dc:creator><pubDate>Sun, 02 Jul 2006 12:09:52 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen definieren on Sun, 02 Jul 2006 12:13:15 GMT]]></title><description><![CDATA[<p>joomoo schrieb:</p>
<blockquote>
<p>Was sind statische Member?</p>
</blockquote>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;iostream&gt;

struct Foo
{
    static void Bar()
    {
        std::cout &lt;&lt; &quot;Hallo, ich bin statisch :)&quot; &lt;&lt; std::endl;
    }
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1090056</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090056</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Sun, 02 Jul 2006 12:13:15 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen definieren on Sun, 02 Jul 2006 12:20:49 GMT]]></title><description><![CDATA[<p>Rofl natürlich tut der Code nicht guck dir mal die Kommentare an da steht sogar wo der Fehler liegt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Ich wollte dir doch nur zeigen was man mit privaten oder public variablen machen kann und was nicht.<br />
:schland: :schland:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090063</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090063</guid><dc:creator><![CDATA[tobZel]]></dc:creator><pubDate>Sun, 02 Jul 2006 12:20:49 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen definieren on Sun, 02 Jul 2006 12:30:51 GMT]]></title><description><![CDATA[<p>tobZel schrieb:</p>
<blockquote>
<p>Rofl natürlich tut der Code nicht guck dir mal die Kommentare an da steht sogar wo der Fehler liegt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Ich wollte dir doch nur zeigen was man mit privaten oder public variablen machen kann und was nicht.<br />
:schland: :schland:</p>
</blockquote>
<p>Aber könntest du mir bitte nur noch erklären,wie man das mit dem &quot;in Public schreibt&quot; und wie das mit &quot; private&quot;funktioniert?</p>
<p>Für Public:</p>
<p>-) Was man da wirklich reinschreiben muss <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Für private:</p>
<p>-) Wie der Code dafür geht bzw. was man darein schreiben muss,damit der auch im int main() funktioniert</p>
<p>Roland</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090071</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090071</guid><dc:creator><![CDATA[Stronghold_$niper]]></dc:creator><pubDate>Sun, 02 Jul 2006 12:30:51 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen definieren on Sun, 02 Jul 2006 12:39:00 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Stronghold_$niper schrieb:</p>
<blockquote>
<p>tobZel schrieb:</p>
<blockquote>
<p>Rofl natürlich tut der Code nicht guck dir mal die Kommentare an da steht sogar wo der Fehler liegt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Ich wollte dir doch nur zeigen was man mit privaten oder public variablen machen kann und was nicht.<br />
:schland: :schland:</p>
</blockquote>
<p>Aber könntest du mir bitte nur noch erklären,wie man das mit dem &quot;in Public schreibt&quot; und wie das mit &quot; private&quot;funktioniert?</p>
<p>Für Public:</p>
<p>-) Was man da wirklich reinschreiben muss <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Für private:</p>
<p>-) Wie der Code dafür geht bzw. was man darein schreiben muss,damit der auch im int main() funktioniert</p>
<p>Roland</p>
</blockquote>
<p>Sag mal bist du ein Troll? Benutz doch einfach mal google oder wiki.<br />
Und trotzdem helfe ich mal noch ein bisschen: du kannst in private und in public (es gibt übrigens auch noch protected) Variabeln und Funktionen<br />
&quot;reinschreiben&quot;. Wie man das macht, sieht man sehr gut an dem Beispiel, was hier schon gepostet wurde, allerdings dort eben nur mit Varibalen und nicht mit Funktionen.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090084</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 02 Jul 2006 12:39:00 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen definieren on Wed, 18 Mar 2009 16:00:42 GMT]]></title><description><![CDATA[<p>So,</p>
<p>hier mal eine kleine Geschichte:</p>
<p>Stellen wir uns einmal vor, wir müssen ein Programm schreiben, das Kontodaten verwaltet. Unser erster Ansatz sieht wie folgt aus:</p>
<pre><code class="language-cpp">double Konto;
</code></pre>
<p>Vielleicht haben wir auch noch eine Funktion, die mit dem Konto arbeitet:</p>
<pre><code class="language-cpp">// Da alle Kontoinhaber monatlich eine Kontogebuehr in immer derselben
// Hoehe bezahlen muessen, gibt es hierfuer eine Funktion, die das erledigt.
// Als Argument wird die Adresse des zu bearbeitenden Kontos uebernommen.
void gebuehrenAbziehen(double* dasKonto)
{
    *dasKonto -= 42.3;
    return;
}
</code></pre>
<p>So einfach geht das normalerweise, einfach Typ und Namen angeben, schon haben wir eine Variable angelegt, die Funktion wird wie gewohnt definiert.<br />
Der Code sieht dann so aus:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

void gebuehrenAbziehen(double* dasKonto);

int main()
{
    std::cout &lt;&lt; &quot;_DAS_ Kontoprogramm!\n&quot;;
    double Konto = 500.0;
    std::cout &lt;&lt; &quot;Kontostand: &quot; &lt;&lt; Konto &lt;&lt; &quot;\n&quot;;

    // Zahltag!
    gebuehrenAbziehen(&amp;Konto);
    std::cout &lt;&lt; &quot;Kontostand: &quot; &lt;&lt; Konto &lt;&lt; &quot;\n&quot;;

    return 0;
}

void gebuehrenAbziehen(double* dasKonto)
{
    *dasKonto -= 42.3;
    return;
}
</code></pre>
<p>Kaum sind wir also fertig mit dieser schwierigen Aufgabe, kommt auch schon der Chef herein um uns von unserem Erfolgstrip runterzuholen. &quot;Freundlich&quot; bittet er uns nämlich darum, den Code auch dem anderen Entwicklerteam der Firma zur Verfügung zu stellen, da diese ebenfalls an einem Kontosystem arbeitet. Natürlich machen wir das auch sofort, und prompt bekommen wir auch eine Mail vom empörten Projektleiter des anderen Teams, der uns mindestens genauso &quot;freundlich&quot; mitteilt, dass einer seiner Programmierer folgenden Code geschrieben hat:</p>
<pre><code class="language-cpp">double dispoKonto = 111.19;
    double giroKonto = 1000.0;

    gebuehrenAbziehen(&amp;giroKonto);
</code></pre>
<p>Eigentlich nicht weiter schlimm, so kann doch der Programmierer die Funktion einfach nicht aufrufen, und schon wären alle zufrieden. Denkste!<br />
Das Kontosystem wird für einen externen Kunden entwickelt, der selber vorhat, noch diverse Erweiterungen von seiner IT-Abteilung einfügen zu lassen. Deshalb - so meint der Chefprogrammierer - geht es &quot;unter gar keinen Umständen&quot;, dass von einem Girokonto Gebühren abgezogen werden. Obwohl wir noch etwas missmutig dreinschauen, sind unsere grauen Zellen inzwischen darauf gekommen, dass es einfach untragbar wäre, wenn ein Programmierer der Bank einen Fehler machen würde und die Bankkunden somit fälschlicherweise Geld abgezogen bekommen. So nimmt die Bank das niemals ab, sondern nur &quot;bombensicher und ohne Fehlermöglichkeiten&quot;. Also entscheiden wir uns für einen objektorientierten Ansatz, wo alle Konten nur genau so eingesetzt werden dürfen, wie sie auch sollen. Dazu verwenden wir das C++-Klassenkonzept, mit dem man sich seine eigenen Datentypen bauen und nach belieben konfigurieren kann, damit sie genau an die Aufgabe angepasst sind. Somit ist eine Klasse in etwa der &quot;Bauplan&quot; für alle &quot;Variablen&quot; (Instanzen/Objekte) unseres Typs (vgl. <code>struct</code> s). Alles, was in der Klasse definiert wird, hat jedes Objekt später selbst (sagen wir mal, für sich, bei den Methoden stimmt das nicht so ganz, aber das bleibt für den Anfang mal ausser Acht). Unser zweiter Ansatz sieht dann so aus:</p>
<pre><code class="language-cpp">class dispoKonto
{
    // Leer.
};

class giroKonto
{
    // Leer.
};
</code></pre>
<p>Damit wollen wir praktisch &quot;unser eigenes <code>double</code> machen&quot;, das genau an die Kontoaufgabe angepasst ist. Dank C++ geht dies mit dem Klassenkonzept, und wir haben auch schon zwei leere definiert. Der Code sieht dann so aus:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

class dispoKonto
{
    // Leer.
};

class giroKonto
{
    // Leer.
};

int main()
{
    // Ersetzt &quot;double dispoKonto = 111.19;&quot;.
    dispoKonto KontoNR1;
    // Ersetzt &quot;double giroKonto = 1000.0;&quot;.
    giroKonto KontoNR2;
}
</code></pre>
<p>Sieht doch schonmal ganz gut aus, oder? Jetzt haben wir immerhin zwei unterschiedliche Kontotypen. Sprich: in <code>main()</code> haben wir zwei &quot;Variablen&quot; (bei Klassen heisst das dann Objekte oder Instanzen) vom Typ <code>dispoKonto</code> und <code>giroKonto</code> erzeugt, wie wir vorher zwei Variablen vom Typ <code>double</code> erzeugt haben. Soweit, so gut. Jetzt wollen wir aber, dass die Konten</p>
<ul>
<li>einen Kontostand beinhalten können</li>
<li>einen sinnvollen Startwert annehmen können</li>
<li>auch leer angelegt werden können</li>
</ul>
<p>Jetzt kommen <code>private</code> und <code>public</code> sowie die Konstruktoren ins Spiel. Mit <code>private</code> / <code>public</code> wird die Zugriffserlaubnis von aussen (sprich: dem normalen Programmablauf, etwa <code>main()</code> oder einer anderen Funktion) geregelt.</p>
<pre><code class="language-cpp">class dispoKonto
{
public:
private:
    double Kontostand;
};

class giroKonto
{
public:
private:
   double Kontostand;
};
</code></pre>
<p>Jetzt haben beide Kontentypen erstmal einen Kontostand im <code>private</code> -Bereich, d.h. von aussen darf niemand zugreifen. Es darf z.B. nicht erlaubt sein, dass eine fremde Funktion den Kontostand ändert. Warum das wichtig ist? Wenn die Funktion versucht, von einem Girokonto 400 Euro abzuziehen, aber nur 200 Euro drauf sind, darf die Transaktion nicht ausgeführt werden, denn negative Kontostände sind beim Girokonto nicht erlaubt. Folgendes funktioniert folglich nicht:</p>
<pre><code class="language-cpp">giroKonto KontoNR2;

    KontoNR2.Kontostand = 5000;
</code></pre>
<p>Mit dem <code>.</code> -Operator wird auf die Elementvariablen (so werden die Variablen einer Klasse u.a. genannt) zugegriffen. Da dieses aber <code>private</code> ist, ist der Zugriff ungültig. Aus gutem Grund, wie wir später sehen werden. Nun wenden wir uns den Konstruktoren zu. Ein Konstruktor hat die Aufgabe, beim erzeugen eines Objekts für den korrekten Aufbau und die sinnvolle Initialisierung ALLER Elementvariablen zu sorgen. Also definieren wir uns jeweils zwei Konstruktoren (die den exakt gleichen Namen haben wie die Klasse selbst und keinen Rückgabetypen besitzen, nicht einmal <code>void</code> ):</p>
<pre><code class="language-cpp">class dispoKonto
{
public:
    dispoKonto();                        // Standardkonstruktor.
    dispoKonto(double startKontostand);  // Ueberladener Konstruktor mit einem
                                         // Uebergabeparameter.
private:
    double Kontostand;
};

// Implementierung/Definition der Konstruktoren, wie bei Funktionen auch.
dispoKonto::dispoKonto() // Bedeutet so viel wie: von der Klasse dispoKonto 
                         // die Methode dispoKonto() (Konstruktor) definieren.
{
    Kontostand = 0;      // Standardwert für private Kontostand, ist hier 
                         // zulaessig, da der Konstruktor ja selbst Teil der
                         // Klasse ist und nicht von &quot;aussen&quot; kommt.
}

dispoKonto::dispoKonto(double startKontostand)
{
    Kontostand = startKontostand;  // S.o.
    // Alternativ koennte man genauso schreiben:
    /* dispoKonto::Kontostand = startKontostand; */
    // -&gt; wuerde so viel bedeuten wie &quot;setze die Elementvariable Kontostand
    // des dispoKonto-Objekts auf startKontostand.
}

class giroKonto
{
public:
    giroKonto() { giroKonto::Kontostand = 0; }  // Inline-Konstruktordefinition.
    giroKonto(double startKontostand);
private:
   double Kontostand;
};

giroKonto::giroKonto(double startKontostand)
{
    if (startKontostand &gt;= 0.0)
    {
        // Hier koennen wir erstmals was fuer die Sicherheit tun! 
        // Ab jetzt ist es unmoeglich, ein Girokonto mit negativem 
        // Startguthaben anzulegen...
        giroKonto::Kontostand = startKontostand;
    }
    else
    {
        // Natuerlich muessen wir auch sicherstellen, dass selbst 
        // bei fehlerhaften Eingaben alle Elementvarialben sinnvolle 
        // Startwerte erhalten.
        giroKonto::Kontostand = 0.0;
    }
}
</code></pre>
<p>Und schon haben wir unsere neuen Datentypen dahingehend erweitert, dass sie sich wie normale integrale Datentypen (die Datentypen, die zum Sprachumfang dazugehören) verwenden lassen, was für externe User unserer Klassen (und uns selber natürlich auch ^^) unheimlich angenehm ist. Hier ein Beispiel der neuen Möglichkeiten:</p>
<pre><code class="language-cpp">dispoKonto kontoNR1;  // Aufruf von dispoKonto::dispoKonto().
    giroKonto kontoNR2;   // Aufruf von giroKonto::giroKonto().
    dispoKonto kontoNR3(42.3);  // Aufruf von dispoKonto::dispoKonto(double).
    giroKonto kontoNR4(111.1);  // Autruf von giroKonto::giroKonto(double).
    giroKonto kontoNR5(-12.0);  // Aufruf von giroKonto::giroKonto(double).
</code></pre>
<p>Die Werte, die dann in den Kontostand-Elementvariablen der einzelnen Objekte stehen, sind folgende:</p>
<blockquote>
<p>kontoNR1: 0.0<br />
kontoNR2: 0.0<br />
kontoNR3: 42.3<br />
kontoNR4: 111.1<br />
kontoNR5: 0.0 // Hier greift die if-Abfrage, die negative Startguthaben<br />
// fuer Girokonten unterbindet.</p>
</blockquote>
<p>OK, das alles funktioniert bereits, aber wie können wir den Kontostand nach Erzeugung des Objekts noch verändern, wenn der Kontostand doch <code>private</code> ist? Genau hierfür gibt es die get-/set-Methoden. Wir werden dies mal nur für das Girokonto implementieren:</p>
<pre><code class="language-cpp">class giroKonto
{
public:
    giroKonto() { giroKonto::Kontostand = 0; }
    giroKonto(double startKontostand);
    double getKontostand();  // get-Methode: Ueber sie kann Kontostand gelesen
                             // werden.
    bool setKontostand(double neuerKontostand);  // set-Methode: Ueber sie kann 
                                                 // Kontostand neu gesetzt 
                                                 // werden.
private:
   double Kontostand;
};

giroKonto::giroKonto(double startKontostand)
{
    if (startKontostand &gt;= 0.0)
    {
        giroKonto::Kontostand = startKontostand;
    }
    else
    {
        giroKonto::Kontostand = 0.0;
    }
}

double giroKonto::getKontostand()  // Hier ist der Rueckgabetyp double, also
                                   // wird nur eine Kopie des Kontostands
                                   // zurueckgegeben, er bleibt weiterhin 
                                   // unzugreifbar.
{
    return giroKonto::Kontostand;  // Das ist alles für get ;-)
}

bool giroKonto::setKontostand(double neuerKontostand)
{ 
    if (neuerKontostand &lt; 0.0)
    {
        return true;  // Neuer Wert unzulaessig, der Rueckgabewert kann nun 
                      // in einer aufrufenden Funktion verwendet werden, um
                      // ein if zwecks Fehlerbehandlung auszuloesen.
    }
    else
    {
        giroKonto::Kontostand = neuerKontostand;
        return false; // Alles in Ordnung, neues Setzen war erfolgreich.
    }
}
</code></pre>
<p>Damit lässt sich nun auch was vernünftiges anstellen:</p>
<pre><code class="language-cpp">// Oben hinzufuegen:
#include &lt;iostream&gt;

    // Irgendwo im Code:
    double monatsgehalt = 1000.00;
    double neuerKontostand = kontoNR4.getKontostand() + monatsgehalt;

    // An einer anderen Stelle vielleicht:    
    std::cout &lt;&lt; kontoNR4.getKontostand() &lt;&lt; std::endl;
</code></pre>
<p>Soviel dazu. Und was fehlt jetzt noch? Richtig! Die <code>gebuehrenAbziehen()</code> -Methode.<br />
Hier ist sie:</p>
<pre><code class="language-cpp">class giroKonto
{
public:
    giroKonto() { giroKonto::Kontostand = 0; }
    giroKonto(double startKontostand);
    double getKontostand();
    bool setKontostand(double neuerKontostand);
    bool gebuehrenAbziehen(double hoehe);  // Sie unterscheidet sich von der
                                           // anfaenglichen Funktion etwas...
private:
   double Kontostand;
};

giroKonto::giroKonto(double startKontostand)
{
    if (startKontostand &gt;= 0.0)
    {
        giroKonto::Kontostand = startKontostand;
    }
    else
    {
        giroKonto::Kontostand = 0.0;
    }
}

double giroKonto::getKontostand()
{
    return giroKonto::Kontostand;
}

bool giroKonto::setKontostand(double neuerKontostand)
{ 
    if (neuerKontostand &lt; 0.0)
    {
        return true;
    }
    else
    {
        giroKonto::Kontostand = neuerKontostand;
        return false;
    }
}

bool giroKonto::gebuehrenAbziehen(double hoehe)  // Das konkrete Konto muss 
                                                 // nicht mehr als Argument 
                                                 // uebergeben werden, da diese
                                                 // Methode selbst Teil eines
                                                 // konkreten Kontos ist - 
                                                 // dass stattdessen die Hoehe
                                                 // der Gebuehr uebergeben wird,
                                                 // dient lediglich Demonstrat-
                                                 // ionszwecken...
{
    // Hier auch nochmal die if-Abfragen: Endlich ist es nicht mehr
    // moeglich, einen negativen Kontostand bei Girokonten zu verursachen,
    // damit sollte der Projektleiter des anderen Programmiererteams
    // zufriedengestellt sein.
    if ((giroKonto::Kontostand - hoehe) &lt; 0.0)
    {
        return true;
    }
    else
    {
        giroKonto::Kontostand -= hoehe;
        return false;
    }
}
</code></pre>
<p>In der Anwendung sieht das so aus:</p>
<pre><code class="language-cpp">giroKonto kontoNR4(10.00);    
    giroKonto kontoNR5(10.00);

    if (kontoNR4.gebuehrenAbziehen(10.00))    // OK.
    {
        std::cout &lt;&lt; &quot;Fehler! Transaktion gescheitert...\n&quot;;
    }

    if (kontoNR5.gebuehrenAbziehen(10.01))    // Transaktion fehlgeschlagen...
    {
        std::cout &lt;&lt; &quot;Fehler! Transaktion gescheitert...\n&quot;;
    }
</code></pre>
<p>Die Element-Methode <code>gebuehrenAbziehen()</code> wurde jetzt nur für <code>giroKonto</code> implementiert, bei <code>dispoKonto</code> lassen wir die <code>if</code> -Abfrage gegen <code>0</code> einfach Weg, und schon kann der Dispokonto-Inhaber einen negativen Kontostand haben. Das ist genau das, was wir wollen - und wir können unseren Datentyp nun guten Gewissens weiterverteilen, da es praktisch ausgeschlossen ist, dass ihn jemand falsch verwendet (wenn wir sauber programmiert haben). Dieses Prinzip der Kapselung bringt sehr viele Vorteile, z.B. kann man nur bestimmte Zahlen als Variablenwerte zulassen etc., eine versehentliche Änderung des Kontostands durch unbefugte Codeteile kann größtenteils vermieden werden - um mal zwei zu nennen.</p>
<p>Die Klasse kann nun beliebig erweitert und an die Umstände angepasst werden, mit einem überladenen <code>+</code> -Operator und einem entsprechenden Kopierkonstruktor geht dann z.B. sowas:</p>
<pre><code class="language-cpp">giroKonto kontoNR6;
    giroKonto kontoNR7(42.00);
    giroKonto kontoNR8(23.00);

    kontoNR6 = kontoNR7 + kontoNR8;
</code></pre>
<p>Dabei könnten wir selbst genau definieren, was addiert werden soll - die Kontostände? Oder die Kreditlimits? Oder sollen vielleicht gar die Namen der Kontoinhaber verknüpft werden? Oder alle drei Vorschläge auf einmal? All das - und noch viel mehr - liegt nun in unserer Hand. Mit...</p>
<pre><code class="language-cpp">double Konto;
</code></pre>
<p>...wäre das absolut undenkbar geblieben.</p>
<p>Aber wozu das Ganze jetzt eigentlich? Nun ja - auf diese Weise lassen sich viele Fehler im Vorfeld eliminieren, man betrachtet die Daten strukturiert als Objekte und nicht über das ganze Programm verstreut und hat überdies die Garantie, dass sie gar nicht falsch verwendet werden können (wenn man alles richtig gemacht hat), und obendrauf ist die Verwendung des eigenen Datentyps genau so, wie bei integralen Datentypen (mindestens aber genau so, wie man es erwarten würde). So können auch große Software-Projekte realisiert werden, was in C beispielsweise mit vielen einzelnen Funktionen relativ schwierig wäre. Und das hier ist lediglich die erste Stufe der OOP-Leiter: Vererbung, Polymorphismus, Templates, überladene Operatoren, ADTs, ...</p>
<p>Wie auch immer, ich hoffe, aufgrund der Codes oben ist halbwegs nachvollziehbar, wieso man Klassen bastelt und sich nicht mit ein paar Funktionen + <code>struct</code> s + Variablen zufrieden gibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090176</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090176</guid><dc:creator><![CDATA[skreutzer]]></dc:creator><pubDate>Wed, 18 Mar 2009 16:00:42 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen definieren on Sun, 02 Jul 2006 19:34:48 GMT]]></title><description><![CDATA[<p>@proggaholic:<br />
Du schreibst ja ganze (gute!) Romane. <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="👍"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
Wenn jetzt nicht alle Klarheitn beseitigt sind, dann weis ich auch nicht... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Greetz, Swordfish@proggaholic:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090358</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090358</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Sun, 02 Jul 2006 19:34:48 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen definieren on Wed, 18 Mar 2009 13:31:41 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/8250">@Swordfish</a>:<br />
Dankeschön. Hoffen wir mal, dass nicht allzu viele Fehler drinne sind und es Stronghold_$niper halbwegs weiterhilft.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090360</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090360</guid><dc:creator><![CDATA[skreutzer]]></dc:creator><pubDate>Wed, 18 Mar 2009 13:31:41 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen definieren on Sun, 02 Jul 2006 20:11:46 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>@proggaholic: Das ist ja der Wahnsinn. Hast du das selber geschrieben, oder kopiert. Du hast doch auch in einem andern Post dir soviel Arbeit gemacht. Respekt.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090385</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090385</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 02 Jul 2006 20:11:46 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen definieren on Sun, 02 Jul 2006 21:56:53 GMT]]></title><description><![CDATA[<p>du machst deinem namen alle ehre!<br />
besonders nach den anderen antworten sich noch SO EINE ARBEIT zu machen....die FAQ-TAUGLICH ist, respekt!!!!!</p>
<p>Auf jedenfall verweise ich in zukunft bei fragen zu klassen (anfängerprobs oop) auf diesen thread! <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="👍"
    /> <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="👍"
    /> <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="👍"
    /> :schland:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090414</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090414</guid><dc:creator><![CDATA[ser1al]]></dc:creator><pubDate>Sun, 02 Jul 2006 21:56:53 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen definieren on Wed, 18 Mar 2009 13:32:42 GMT]]></title><description><![CDATA[<p>@chrische5:<br />
Ja, das stammt aus meiner Feder.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1092820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1092820</guid><dc:creator><![CDATA[skreutzer]]></dc:creator><pubDate>Wed, 18 Mar 2009 13:32:42 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen definieren on Fri, 07 Jul 2006 05:42:12 GMT]]></title><description><![CDATA[<p><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="👍"
    /> <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="👍"
    /> Wirklick cool gemacht.</p>
<p>Wenn du das dann noch etwas erweitern würdest mit Vererbung, Abstrakten Basisklassen und Virtuellen Methoden, was alles sehr schön mit deinem Beispiel gezeigt werden kann, sollte man so etwas auf jeden Fall in die FAQ stecken oder vielleicht zu den Artikeln <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1092917</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1092917</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 07 Jul 2006 05:42:12 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen definieren on Wed, 18 Mar 2009 13:34:19 GMT]]></title><description><![CDATA[<p>Klar, kann ich bei Gelegenheit mal machen, allerdings würde das ein paar Tage dauern...erinnert mich bitte hin und wieder daran.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1093968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1093968</guid><dc:creator><![CDATA[skreutzer]]></dc:creator><pubDate>Wed, 18 Mar 2009 13:34:19 GMT</pubDate></item></channel></rss>