<?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[Funktion gibt nur Null aus]]></title><description><![CDATA[<p>Ich habe eine Klasse Rechteck in c++. Die Klasse wird durch Kiste erweitert. Wenn ich mir das Volumen ausgeben lasse kommt immer Null raus. Woran kann das liegen?</p>
<pre><code class="language-cpp">class Rechteck
{
protected: 	
int a;
int b;
public:
        Rechteck(int A=1, int B=1){a=A; b=B;}
public:
       int Flaeche () {return a*b;}
		~Rechteck(){}
};

class Kiste:public Rechteck
{
      protected:
                int h;
      public:
             Kiste(int a=1, int b=1, int h=1){};
             int Volumen () {return a*b*h;}
             ~Kiste(){}
             void groesse()
             {
                  cout&lt;&lt; &quot;Volumen ist: &quot;&lt;&lt; a*b*h&lt;&lt;endl;
             };
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/179345/funktion-gibt-nur-null-aus</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 06:20:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/179345.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 20 Apr 2007 15:27:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funktion gibt nur Null aus on Fri, 20 Apr 2007 15:27:28 GMT]]></title><description><![CDATA[<p>Ich habe eine Klasse Rechteck in c++. Die Klasse wird durch Kiste erweitert. Wenn ich mir das Volumen ausgeben lasse kommt immer Null raus. Woran kann das liegen?</p>
<pre><code class="language-cpp">class Rechteck
{
protected: 	
int a;
int b;
public:
        Rechteck(int A=1, int B=1){a=A; b=B;}
public:
       int Flaeche () {return a*b;}
		~Rechteck(){}
};

class Kiste:public Rechteck
{
      protected:
                int h;
      public:
             Kiste(int a=1, int b=1, int h=1){};
             int Volumen () {return a*b*h;}
             ~Kiste(){}
             void groesse()
             {
                  cout&lt;&lt; &quot;Volumen ist: &quot;&lt;&lt; a*b*h&lt;&lt;endl;
             };
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1270097</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270097</guid><dc:creator><![CDATA[thadre]]></dc:creator><pubDate>Fri, 20 Apr 2007 15:27:28 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion gibt nur Null aus on Fri, 20 Apr 2007 15:35:10 GMT]]></title><description><![CDATA[<p>Konstrukotr Kiste musst du den Konstruktor de Basis klasse aufrufen (A), zu den must du die membervariable h in Rechteck über konstrukor zuweisen (B):</p>
<p>Ersetze Zeile:</p>
<pre><code class="language-cpp">Kiste(int a=1, int b=1, int h=1){};
</code></pre>
<p>mit Zeile:</p>
<pre><code class="language-cpp">Kiste(int a=1, int b=1, int h=1) : /* (A) */Rechteck(a,b){ 
 /* (B) */this-&gt;h=h; 
};
</code></pre>
<p>P.S: Google mal nach Initialisierungsliste - Konstruktor</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1270098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270098</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 20 Apr 2007 15:35:10 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion gibt nur Null aus on Fri, 20 Apr 2007 15:32:54 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class Rechteck
{
protected: 	
int a;
int b;
public:
        Rechteck(int A=1, int B=1){a=A; b=B;}
public:
       int Flaeche () {return a*b;}
		~Rechteck(){}
};

class Kiste:public Rechteck
{
      protected:
                int h;
      public:
             Kiste(int a=1, int b=1, int h=1)
               : Rechteck(a, b) //Konstruktor der Basisklasse aufrufen
             { this-&gt;h = h; }
             int Volumen () {return a*b*h;}
             ~Kiste(){}
             void groesse()
             {
                  cout&lt;&lt; &quot;Volumen ist: &quot;&lt;&lt; a*b*h&lt;&lt;endl;
             };
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1270099</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270099</guid><dc:creator><![CDATA[helfer]]></dc:creator><pubDate>Fri, 20 Apr 2007 15:32:54 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion gibt nur Null aus on Fri, 20 Apr 2007 15:58:51 GMT]]></title><description><![CDATA[<p>Vielen Dank für eure schnelle Hilfe. habe jetzt nur das Problem, dass immer 6 als Ergebnis rauskommt. Egal wie ich die Werte ändere</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1270110</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270110</guid><dc:creator><![CDATA[thadre]]></dc:creator><pubDate>Fri, 20 Apr 2007 15:58:51 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion gibt nur Null aus on Fri, 20 Apr 2007 16:12:02 GMT]]></title><description><![CDATA[<p>Wie kommst du darauf Kiste von Rechteck abzuleiten. &quot;Eine Kiste ist ein Rechteck&quot; ist imho Unfug. Sogar &quot;Ein Quadrat ist ein Rechteck&quot; geht nicht, da ein Quadrat weniger Manipulationsmöglichkeiten als ein Rechteck anbietet...diesen Fall hast du hier zwar nicht, aber trotzdem...</p>
<p>Seis drum, hier sollte nicht immer 6 rauskommen:</p>
<pre><code class="language-cpp">class Rechteck
{
protected:
    int l, b;
public:
    Rechteck (int l, int b) : l(l), b(b) {}

    int flaeche () { return l * b; } // alleine das hier gibts ja bei der kiste nicht mehr in der form...
};

class Kiste : public Rechteck // ich nix einverstanden
{
protected:
    int h;
public:
    Kiste (int l, int b, int h) : Rechteck(l,b), h(h) {}

    int volumen () { return l*b*h; }
};

...

int main ()
{
    Kiste kiste (4, 4, 4);
    cout &lt;&lt; kiste.volumen(); &lt;&lt; endl; // sollte 64 ausgeben
}
</code></pre>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1270121</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270121</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Fri, 20 Apr 2007 16:12:02 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion gibt nur Null aus on Fri, 20 Apr 2007 16:56:20 GMT]]></title><description><![CDATA[<p>Ja hast recht so funzt es. Nur das Semikolon ist zu viel</p>
<pre><code class="language-cpp">cout &lt;&lt; kiste.volumen(); &lt;&lt; endl; // sollte 64 ausgeben
</code></pre>
<p>Ich wollte halt versuchen vor der main methode den Wert fürs Volumen schon auszugeben.</p>
<p>Was meinst du damit:</p>
<pre><code class="language-cpp">class Kiste : public Rechteck // ich nix einverstanden
</code></pre>
<p>Gibt es noch eine besser Möglichkeit eine zuvor definierte Klasse einzubinden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1270144</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270144</guid><dc:creator><![CDATA[thadre]]></dc:creator><pubDate>Fri, 20 Apr 2007 16:56:20 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion gibt nur Null aus on Fri, 20 Apr 2007 17:07:13 GMT]]></title><description><![CDATA[<p>thadre schrieb:</p>
<blockquote>
<p>Gibt es noch eine besser Möglichkeit eine zuvor definierte Klasse einzubinden?</p>
</blockquote>
<p>Hast Du in Sides Post auch den Text vor dem Code gelesen? <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 />
Er meint vermutlich, dass er nicht einverstanden ist, dass eine Kiste ein Rechteck ist (Ableitung == ist-ein Beziehung)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1270146</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270146</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 20 Apr 2007 17:07:13 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion gibt nur Null aus on Fri, 20 Apr 2007 17:47:45 GMT]]></title><description><![CDATA[<p>Die Diskussion war schon mal in nem Thread. Bspw. 3D objekte von 2D Objekten ableiten:</p>
<p>Bspw: (Ist zawr Plausibel aber nich elegant genug):</p>
<pre><code class="language-cpp">class ZweiDimensional

int x,y;

};

class DreiDimensional : public ZweiDimensional{

int z;

};
</code></pre>
<p>Meine Vorschlag (Vereinfacht):</p>
<pre><code class="language-cpp">class NDimensionen{

int *iN; //Array mit N-Dimensionen

};

class ZweiDimensionen : public NDimensionen

ZweiDimensionen(int x,int y) {

  iN= new int[2];
  iN[0]= x;
  iN[1]= y;
}
};

class DreiDimensionen : public NDimensionen{

DreiDimensionen(int x,int y,int z) {

  iN= new int[3];
  iN[0]= x;
  iN[1]= y;
  iN[2]= z;
}
};
</code></pre>
<p>etc.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1270166</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270166</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 20 Apr 2007 17:47:45 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion gibt nur Null aus on Fri, 20 Apr 2007 18:10:08 GMT]]></title><description><![CDATA[<p>Erscheint mir auf den ersten Blick langsam und umständlich wegen Speicherverwaltung. Nene, Rechteck ist ein GraphicsObject und Quader, Box, Prisma oder was auch immer ist ein GraphicsObject. Aber die leiten sich allesamt nicht ab.</p>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1270180</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270180</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Fri, 20 Apr 2007 18:10:08 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion gibt nur Null aus on Fri, 20 Apr 2007 18:22:57 GMT]]></title><description><![CDATA[<p>zum vorschlag vom BorisTheBlade <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 />
das ist aber imho nicht so schön, wenn du die ganzen daten von den objekten irgendwo auf dem heap abspeicherst. zum einen, weil du da vier bytes mehr für einen unnötigen pointer benötigst, zum anderen, weil man das nicht mehr vernünftig &quot;in einem block&quot; auf dem speicher kriegt: Wenn du ein array aus tausend &quot;DreiDimensionen&quot; erstellst, werden all die &quot;new&quot; unabhängig voneinander aufgerufen =&gt; speicher wird möglicherweise ungünstig fragmentiert.</p>
<p>Ausserdem macht das alles sowieso wenig sinn... Was haben denn diese klassen gemeinsam? Eigentlich gar nichts ausser einem überflüssigen zeiger... :p</p>
<p>\edit: mit der bemerkung über den speicher war SideWinder wieder mal schneller <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      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="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1270188</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270188</guid><dc:creator><![CDATA[Andrey]]></dc:creator><pubDate>Fri, 20 Apr 2007 18:22:57 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion gibt nur Null aus on Mon, 23 Apr 2007 03:22:13 GMT]]></title><description><![CDATA[<p>man man, wann kommt mal der Tag, an dem ihr sagt: &quot;Wow, gute idee Boris&quot; <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/1271437</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1271437</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Mon, 23 Apr 2007 03:22:13 GMT</pubDate></item></channel></rss>