<?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[3. Beispielprogramm]]></title><description><![CDATA[<p>Dies ist ein weiteres Programm, das mir Kopfzerbrechen macht.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;
class Vektor
{
  public:
    Vektor(int dim = 1);
    Vektor(const Vektor &amp;v);  

    void setzen(double d = 0.0); 
    void ausgeben() const;    

  private:
    int m;              
    double data[10];    
};

Vektor::Vektor(int dim)
{
	m = dim;
}

Vektor::Vektor(const Vektor &amp;v)
{
	m = v.m;
	for(int index = 0; index &lt; m; index++)
	  data[index] = v.data[index];
}

void Vektor::setzen(double d)
{
	for(int index = 0; index &lt; m;index++ )
	  data[index] = d;
}

void Vektor::ausgeben() const
{
	printf(&quot;(&quot;);
	for(int index = 0; index &lt; m; index++)
	  printf(index &lt; m - 1 ? &quot;%f &quot; : &quot;%f&quot;, data[index]);
	printf(&quot;)\n&quot;);
}

int main()
{ 
	Vektor a(3);
	a.ausgeben(); //1
	a.setzen(1.0); //2
	a.ausgeben();

	Vektor b(4), c(a);
	b.ausgeben();  //3
	c.ausgeben();  //4

	return 0;
}
</code></pre>
<p>Ich gebe zu, dass ich schon allein nichts von Kopierkonstruktoren verstanden habe. Allerdings ist die Ausgabe völlig irritierend.<br />
Für 1: (NaN 0 0)<br />
2: (1 1 1)<br />
3:(Wahllose Zahlenkolonnen)<br />
4: (1 1 1)<br />
Die Ausgabe von 1 und 3 verstehe ich nicht. Hat mein Compiler vielleicht doch ne Macke?<br />
<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="😕"
    /> <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>
]]></description><link>https://www.c-plusplus.net/forum/topic/136089/3-beispielprogramm</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 07:14:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/136089.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 07 Feb 2006 10:46:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to 3. Beispielprogramm on Tue, 07 Feb 2006 10:46:42 GMT]]></title><description><![CDATA[<p>Dies ist ein weiteres Programm, das mir Kopfzerbrechen macht.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;
class Vektor
{
  public:
    Vektor(int dim = 1);
    Vektor(const Vektor &amp;v);  

    void setzen(double d = 0.0); 
    void ausgeben() const;    

  private:
    int m;              
    double data[10];    
};

Vektor::Vektor(int dim)
{
	m = dim;
}

Vektor::Vektor(const Vektor &amp;v)
{
	m = v.m;
	for(int index = 0; index &lt; m; index++)
	  data[index] = v.data[index];
}

void Vektor::setzen(double d)
{
	for(int index = 0; index &lt; m;index++ )
	  data[index] = d;
}

void Vektor::ausgeben() const
{
	printf(&quot;(&quot;);
	for(int index = 0; index &lt; m; index++)
	  printf(index &lt; m - 1 ? &quot;%f &quot; : &quot;%f&quot;, data[index]);
	printf(&quot;)\n&quot;);
}

int main()
{ 
	Vektor a(3);
	a.ausgeben(); //1
	a.setzen(1.0); //2
	a.ausgeben();

	Vektor b(4), c(a);
	b.ausgeben();  //3
	c.ausgeben();  //4

	return 0;
}
</code></pre>
<p>Ich gebe zu, dass ich schon allein nichts von Kopierkonstruktoren verstanden habe. Allerdings ist die Ausgabe völlig irritierend.<br />
Für 1: (NaN 0 0)<br />
2: (1 1 1)<br />
3:(Wahllose Zahlenkolonnen)<br />
4: (1 1 1)<br />
Die Ausgabe von 1 und 3 verstehe ich nicht. Hat mein Compiler vielleicht doch ne Macke?<br />
<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="😕"
    /> <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>
]]></description><link>https://www.c-plusplus.net/forum/post/988343</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/988343</guid><dc:creator><![CDATA[Luka_one]]></dc:creator><pubDate>Tue, 07 Feb 2006 10:46:42 GMT</pubDate></item><item><title><![CDATA[Reply to 3. Beispielprogramm on Tue, 07 Feb 2006 10:52:47 GMT]]></title><description><![CDATA[<p>Dein int-Konstruktor (&quot;Vector::Vector(int dim)&quot;) initialisiert zwar die Dimension deines Vektors, aber nicht die Daten - also hast du nach dem Aufruf willkürliche Werte in deinem Array drinstehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/988348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/988348</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 07 Feb 2006 10:52:47 GMT</pubDate></item><item><title><![CDATA[Reply to 3. Beispielprogramm on Tue, 07 Feb 2006 10:55:28 GMT]]></title><description><![CDATA[<p>Luka_one schrieb:</p>
<blockquote>
<p>Die Ausgabe von 1 und 3 verstehe ich nicht. Hat mein Compiler vielleicht doch ne Macke?</p>
</blockquote>
<p>Welche Ausgabe hättest du denn erwartet?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/988351</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/988351</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 07 Feb 2006 10:55:28 GMT</pubDate></item><item><title><![CDATA[Reply to 3. Beispielprogramm on Tue, 07 Feb 2006 11:50:10 GMT]]></title><description><![CDATA[<p>kannst du nicht mal alle deine beispiele in einem thread posten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/988389</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/988389</guid><dc:creator><![CDATA[xGhost]]></dc:creator><pubDate>Tue, 07 Feb 2006 11:50:10 GMT</pubDate></item><item><title><![CDATA[Reply to 3. Beispielprogramm on Tue, 07 Feb 2006 13:35:48 GMT]]></title><description><![CDATA[<p>Danke euch.<br />
Sorry, ich hätte meine Beispiele wirklich alle zusammenfassen sollen.<br />
Und man sieht den Wald vor lauter Bäumen nicht....<br />
Danke CStoll, du hast mich auf was aufmerksam gemacht, was ich beim verzweifelten Versuch das Programm zu verstehen übersehen hatte.</p>
<pre><code class="language-cpp">Vektor a(3);
	a.setzen();
	a.ausgeben();
	a.setzen(1.0);
	a.ausgeben();

	Vektor b(4), c(a);
	b.setzen();
	b.ausgeben();
	c.ausgeben();
</code></pre>
<p>So muss das Programm eigentlich aussehen, wenn's richtig funktionieren soll.<br />
Ich hatte mich so verbissen, dass ich nicht drauf gekommen war, also danke! <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/988496</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/988496</guid><dc:creator><![CDATA[Luka_one]]></dc:creator><pubDate>Tue, 07 Feb 2006 13:35:48 GMT</pubDate></item><item><title><![CDATA[Reply to 3. Beispielprogramm on Tue, 07 Feb 2006 14:08:37 GMT]]></title><description><![CDATA[<p>Imho sollte der Konstruktor, der eine Zahl für die Größ entgegennehmen kann explicit sein. Das heißt, man muß ihn manuell aufrufen. Sonst passieren so unschöne Effekte wie:</p>
<pre><code class="language-cpp">Vektor a(3);
a = 1;
// jetzt hat der Vektor nur noch Dimension 1
// wer das haben will sollte explizit folgendes schreiben müssen:
a = Vektor(1);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/988539</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/988539</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Tue, 07 Feb 2006 14:08:37 GMT</pubDate></item></channel></rss>