<?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[Warum braucht man eine Instanz?]]></title><description><![CDATA[<p>Hallo Programmierer,<br />
Ich selbst habe seit kurzem mit dem Borland CPlusplus Builder angefangen C++ zu programmieren und habe grad das Gefühl das insgesammte Prinzip der objektorientierten Programmierung noch nicht ganz verstanden zu haben.<br />
Es ist so, dass der Compiler zwei verschiedene Dateien erstellt- eine der Dateien hat immer die Endung *h und die andere die Endung *cpp.<br />
In der *cpp-Datei werden Funktionen, die in der *h-Datei erstellt werden aufgerufen und es kann mit ihnen gearbeitet werden.<br />
Nehmen wir einmal an ich schreibe eine Klasse &quot;Dreieck&quot; in die *h-Datei und möchte diese Klasse zum berechnen der Fläche des Dreiecks benutzen.<br />
Ich schreibe somit 3 Funktionen:</p>
<p>setHoehe(float)<br />
setGrundseite(float)<br />
und flaeche(void)</p>
<p>In meiner *cpp Datei kann ich jedoch nicht direkt auf die Klasse &quot;Dreieck&quot; zugreifen sondern muss erst eine Instanz erstellen mit &quot;p3eck=new Dreieck;&quot;<br />
Doch warum dieser Aufwand- meiner Meinung nach Blödsinn.<br />
Zudem weiß ich garnicht genau, was genau diese &quot;Instanz&quot; ist- was wird in diesem Speicherbereih überhaupt abgelegt???</p>
<p>Ich würde mich sehr über Antworten freuen,- besonders, was eine Instanz bringt würde mich interessieren. - ich bin noch Anfänger.</p>
<p>Danke</p>
<p>David</p>
<p>PS: <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="🙂"
    /> <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="😃"
    /> <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="😉"
    /> <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="🙂"
    /> <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/topic/159379/warum-braucht-man-eine-instanz</link><generator>RSS for Node</generator><lastBuildDate>Tue, 11 Aug 2026 02:41:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/159379.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 14 Sep 2006 12:49:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Warum braucht man eine Instanz? on Thu, 14 Sep 2006 12:49:06 GMT]]></title><description><![CDATA[<p>Hallo Programmierer,<br />
Ich selbst habe seit kurzem mit dem Borland CPlusplus Builder angefangen C++ zu programmieren und habe grad das Gefühl das insgesammte Prinzip der objektorientierten Programmierung noch nicht ganz verstanden zu haben.<br />
Es ist so, dass der Compiler zwei verschiedene Dateien erstellt- eine der Dateien hat immer die Endung *h und die andere die Endung *cpp.<br />
In der *cpp-Datei werden Funktionen, die in der *h-Datei erstellt werden aufgerufen und es kann mit ihnen gearbeitet werden.<br />
Nehmen wir einmal an ich schreibe eine Klasse &quot;Dreieck&quot; in die *h-Datei und möchte diese Klasse zum berechnen der Fläche des Dreiecks benutzen.<br />
Ich schreibe somit 3 Funktionen:</p>
<p>setHoehe(float)<br />
setGrundseite(float)<br />
und flaeche(void)</p>
<p>In meiner *cpp Datei kann ich jedoch nicht direkt auf die Klasse &quot;Dreieck&quot; zugreifen sondern muss erst eine Instanz erstellen mit &quot;p3eck=new Dreieck;&quot;<br />
Doch warum dieser Aufwand- meiner Meinung nach Blödsinn.<br />
Zudem weiß ich garnicht genau, was genau diese &quot;Instanz&quot; ist- was wird in diesem Speicherbereih überhaupt abgelegt???</p>
<p>Ich würde mich sehr über Antworten freuen,- besonders, was eine Instanz bringt würde mich interessieren. - ich bin noch Anfänger.</p>
<p>Danke</p>
<p>David</p>
<p>PS: <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="🙂"
    /> <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="😃"
    /> <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="😉"
    /> <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="🙂"
    /> <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/1137301</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137301</guid><dc:creator><![CDATA[777]]></dc:creator><pubDate>Thu, 14 Sep 2006 12:49:06 GMT</pubDate></item><item><title><![CDATA[Reply to Warum braucht man eine Instanz? on Thu, 14 Sep 2006 13:05:54 GMT]]></title><description><![CDATA[<p>Überleg dir mal, wenn du mehrere Dreiecke hast, wie du darauf sonst zugreifen kannst?<br />
Ich hoffe, du lernst anhand eines Buches oder eines Tutorials, ansonsten schau dir mal die Links (oben rechts) hier im Forum an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1137314</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137314</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Thu, 14 Sep 2006 13:05:54 GMT</pubDate></item><item><title><![CDATA[Reply to Warum braucht man eine Instanz? on Thu, 14 Sep 2006 13:06:19 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>dann arbeite erstmal die <a href="http://tutorial.schornboeck.net/oop.htm" rel="nofollow">OOP-Grundlagen</a> durch.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1137315</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137315</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 14 Sep 2006 13:06:19 GMT</pubDate></item><item><title><![CDATA[Reply to Warum braucht man eine Instanz? on Fri, 15 Sep 2006 06:34:29 GMT]]></title><description><![CDATA[<p>Im Header werden normalerweise die Klassen bzw. Funktionen definiert und erst in der CPP-Datei ausprogrammiert.</p>
<pre><code class="language-cpp">// *.h

// Klassendefinition
class Dreieck
{
  protected:

    double h, g;

  public:

    // Standard-Konstruktor
    Dreieck();

    // Konstruktor mit Parametern
    Dreieck(double NeuH, double NeuG);

    void SetzeH(double NeuH);
    void SetzeG(double NeuG);

    double Flaeche();
};
</code></pre>
<p>In der CPP werden überlicherweise die Funktionen ausprogrammiert, die du im Header definiert hast.</p>
<pre><code class="language-cpp">// *.CPP

// Standard-Konstruktor
Dreieck::Dreieck()
{
  this-&gt;H = 0;
  this-&gt;G = 0;
}

// Konstruktor mit Parametern
Dreieck::Dreieck(double NeuH, double NeuG)
{
  this-&gt;H = NeuH;
  this-&gt;G = NeuG;
}

void Dreieck::SetzeH(double NeuH)
{
  this-&gt;H = NeuH;
}

void Dreieck::SetzeG(double NeuG)
{
  this-&gt;G = NeuG;
}

// Fläche berechnen
double Dreieck::Flaeche()
{
  return ((this-&gt;G * this-&gt;H) / 2.0);
}
</code></pre>
<p>Aufruf dann zum Beispiel so:</p>
<pre><code class="language-cpp">Dreieck MeinDreieck;

MeinDreieck.SetzeH(2.5);
MeinDreieck.SetzeG(1.5);

double Flaeche = MeinDreieck.Flaeche();
</code></pre>
<p>oder</p>
<pre><code class="language-cpp">// H und G direkt übergeben
Dreieck MeinDreieck(2.5, 1.5);

double Flaeche = MeinDreieck.Flaeche();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1137722</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137722</guid><dc:creator><![CDATA[Sunday]]></dc:creator><pubDate>Fri, 15 Sep 2006 06:34:29 GMT</pubDate></item><item><title><![CDATA[Reply to Warum braucht man eine Instanz? on Fri, 15 Sep 2006 07:45:45 GMT]]></title><description><![CDATA[<p>Hallo Sunday,</p>
<p>Kleine Korrektur</p>
<blockquote>
<p>Im Header werden normalerweise die Klassen bzw. Funktionen definiert und erst in der CPP-Datei ausprogrammiert.</p>
</blockquote>
<p>Richtiger:<br />
Im Header werden normalerweise die Klassen bzw. Funktionen deklariert und erst in der CPP-Datei definiert.<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-61231.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-61231.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1137751</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137751</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 15 Sep 2006 07:45:45 GMT</pubDate></item><item><title><![CDATA[Reply to Warum braucht man eine Instanz? on Sat, 16 Sep 2006 08:17:04 GMT]]></title><description><![CDATA[<p>Das ganze ist so:</p>
<p>Eine Klasse ist im Prinzip der Bauplan für eine Instanz.<br />
Um Methoden und Eigenschaften nutzen zu können muss also erst einmal ein &quot;Objekt&quot; anhand des Bauplans konstruiert werden. Instanz ist auch nur ein anderes Wort für Objekt.</p>
<p>Es ist auch möglich die Methoden direkt in die Klassen Definition zu schreiben, der Übersicht halber wird auch dies aufgeteilt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1138306</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1138306</guid><dc:creator><![CDATA[webmaster1987]]></dc:creator><pubDate>Sat, 16 Sep 2006 08:17:04 GMT</pubDate></item><item><title><![CDATA[Reply to Warum braucht man eine Instanz? on Sat, 16 Sep 2006 11:23:26 GMT]]></title><description><![CDATA[<p>Vielen Dank Leute- ich habe nun ein bisschen programiert und den Sinn einer Instanz verstanden.<br />
Dieses Forum hier ist wirklich sehr sinnvoll<br />
cya<br />
David</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1138415</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1138415</guid><dc:creator><![CDATA[7777]]></dc:creator><pubDate>Sat, 16 Sep 2006 11:23:26 GMT</pubDate></item></channel></rss>