<?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[Dynamische Objekte anlegen - Keine Ausgabe]]></title><description><![CDATA[<p>Hey...<br />
Ist noch ziemlich ziemlich ungeordnet mein Code. Aber laufen tut er, doch er macht nciht was er soll! Ich möchte &quot;Anzahl&quot;-Viele objekte eingeben lassen und nach jedem durchlauf soll er den namen und das mhd vom eben eingegebenem ausgeben. Doch das macht er nicht...</p>
<p>Wo ist mein Fehler?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;conio.h&gt;
#include &lt;string&gt;

using namespace std;

string *p;
string eingabename;
string eingabemhd;

class vorrat
{

private:
	string name;
	string mhd;
	int 
		anzahl;

public:
	// KONSTRUKTOR//
	vorrat::vorrat()
	{
	name = &quot;Unt&quot;;
	mhd = &quot;21.12.1993&quot;;
	int 
		anzahl = 0;
	}
	// FUNKTIONEN //

	void zeige()
	{
	cout&lt;&lt;&quot;Name: &quot;&lt;&lt;name&lt;&lt;endl;
	cout&lt;&lt;&quot;MHD: &quot;&lt;&lt;mhd&lt;&lt;endl;
	}

	void neu()
	{
		int 
			anzahl,
			i;
		cout&lt;&lt;&quot;Anzahl neuer Produkte!&quot;&lt;&lt;endl;
		cin&gt;&gt;anzahl;
		vorrat *p = new vorrat[anzahl];
		for(i=0; i&lt;anzahl; i++)
		{

			cout&lt;&lt;&quot;Name: &quot;&lt;&lt;endl;
			cin&gt;&gt; eingabename;
			p[i].name = eingabename;
			cout&lt;&lt;&quot;MHD: &quot;&lt;&lt;endl;
			cin&gt;&gt; eingabename;
			p[i].name = eingabemhd;
			cout&lt;&lt;p[i].name&lt;&lt;endl;
			cout&lt;&lt;p[i].mhd&lt;&lt;endl;

			cout&lt;&lt;&quot;- - - - - - - - - - -&quot;&lt;&lt;endl;
		}
	}
};
int main()
{
	vorrat produkt;
	produkt.neu();

getch();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/277078/dynamische-objekte-anlegen-keine-ausgabe</link><generator>RSS for Node</generator><lastBuildDate>Sat, 04 Apr 2026 15:52:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/277078.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 12 Nov 2010 16:42:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dynamische Objekte anlegen - Keine Ausgabe on Fri, 12 Nov 2010 16:42:44 GMT]]></title><description><![CDATA[<p>Hey...<br />
Ist noch ziemlich ziemlich ungeordnet mein Code. Aber laufen tut er, doch er macht nciht was er soll! Ich möchte &quot;Anzahl&quot;-Viele objekte eingeben lassen und nach jedem durchlauf soll er den namen und das mhd vom eben eingegebenem ausgeben. Doch das macht er nicht...</p>
<p>Wo ist mein Fehler?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;conio.h&gt;
#include &lt;string&gt;

using namespace std;

string *p;
string eingabename;
string eingabemhd;

class vorrat
{

private:
	string name;
	string mhd;
	int 
		anzahl;

public:
	// KONSTRUKTOR//
	vorrat::vorrat()
	{
	name = &quot;Unt&quot;;
	mhd = &quot;21.12.1993&quot;;
	int 
		anzahl = 0;
	}
	// FUNKTIONEN //

	void zeige()
	{
	cout&lt;&lt;&quot;Name: &quot;&lt;&lt;name&lt;&lt;endl;
	cout&lt;&lt;&quot;MHD: &quot;&lt;&lt;mhd&lt;&lt;endl;
	}

	void neu()
	{
		int 
			anzahl,
			i;
		cout&lt;&lt;&quot;Anzahl neuer Produkte!&quot;&lt;&lt;endl;
		cin&gt;&gt;anzahl;
		vorrat *p = new vorrat[anzahl];
		for(i=0; i&lt;anzahl; i++)
		{

			cout&lt;&lt;&quot;Name: &quot;&lt;&lt;endl;
			cin&gt;&gt; eingabename;
			p[i].name = eingabename;
			cout&lt;&lt;&quot;MHD: &quot;&lt;&lt;endl;
			cin&gt;&gt; eingabename;
			p[i].name = eingabemhd;
			cout&lt;&lt;p[i].name&lt;&lt;endl;
			cout&lt;&lt;p[i].mhd&lt;&lt;endl;

			cout&lt;&lt;&quot;- - - - - - - - - - -&quot;&lt;&lt;endl;
		}
	}
};
int main()
{
	vorrat produkt;
	produkt.neu();

getch();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1979589</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1979589</guid><dc:creator><![CDATA[9A-91]]></dc:creator><pubDate>Fri, 12 Nov 2010 16:42:44 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamische Objekte anlegen - Keine Ausgabe on Fri, 12 Nov 2010 17:10:23 GMT]]></title><description><![CDATA[<p>9A-91 schrieb:</p>
<blockquote>
<p>vorrat *p = new vorrat[anzahl];</p>
</blockquote>
<p>Also da vermiss ich zunächst mal das dazugehörige delete []</p>
<p>9A-91 schrieb:</p>
<blockquote>
<p>vorrat::vorrat()</p>
</blockquote>
<p>neee du, innerhalb der Klasse brauchst du den Scope nicht angeben.</p>
<p>9A-91 schrieb:</p>
<blockquote>
<p>cin&gt;&gt; eingabename;<br />
p[i].name = eingabemhd;</p>
</blockquote>
<p>Da war Copy&amp;Paste im Spiel <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="😉"
    /> ... da passt der Variablenname weder bei der Eingabe noch bei der Zuweisung (links)</p>
<p>Das sollte erstmal für die eigentliche Funktion ausreichen.<br />
Der logische Hintergrund des Programms ist mir aber noch Schleierhaft <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/1979600</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1979600</guid><dc:creator><![CDATA[BasicMan01]]></dc:creator><pubDate>Fri, 12 Nov 2010 17:10:23 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamische Objekte anlegen - Keine Ausgabe on Fri, 12 Nov 2010 17:12:40 GMT]]></title><description><![CDATA[<p>WIe würdest du denn einen Vorratsschrank anlegen? <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>Also wo Produkte &quot;drin&quot; sind und &quot;hinzugefügt&quot; werden können. ?! Nicht so?^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1979601</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1979601</guid><dc:creator><![CDATA[91-9a]]></dc:creator><pubDate>Fri, 12 Nov 2010 17:12:40 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamische Objekte anlegen - Keine Ausgabe on Fri, 12 Nov 2010 17:51:32 GMT]]></title><description><![CDATA[<p>Ja klar ... und dann blamier ich mich mit meinem Code wieder bis auf die Knochen <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="😃"
    /><br />
Nagut ... als Ansatz und natürlich mit Optimierung nach oben.<br />
Bin selbst kein großer Freund von cout und cin innerhalb von Klassen, aber das kann ja jeder machen wie er will</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;vector&gt;

class Supply
{
	private:
		struct Element
		{
			std::string name;
			std::string mbh;

			Element(const std::string &amp;n, const std::string &amp;m) : name(n), mbh(m)
			{
			}
		};
		std::vector&lt;Element&gt; elements;

	public:
		void addElement(const std::string &amp;n, const std::string &amp;m);
		void printElements(std::ostream &amp;os);
};

void Supply::addElement(const std::string &amp;n, const std::string &amp;m)
{
	Element newElement(n, m);
	elements.push_back(newElement);
}

void Supply::printElements(std::ostream &amp;os)
{
	typedef std::vector&lt;Element&gt;::iterator iter;

	for(iter it=elements.begin(); it!=elements.end(); ++it)
		os &lt;&lt; &quot;Name: &quot; &lt;&lt; it-&gt;name &lt;&lt; &quot;\tMHD: &quot; &lt;&lt; it-&gt;mbh &lt;&lt; std::endl;
}

int main()
{
	Supply icebox;
	int cnt;

	std::cout &lt;&lt; &quot;Eingabe Anzahl&quot; &lt;&lt; std::endl;
	std::cin &gt;&gt; cnt;
	// TODO: Pruefung auf Zahl angebracht
	for(int i=0; i&lt;cnt; ++i)
	{
		std::string name;
		std::string mhd;

		std::cout &lt;&lt; &quot;Name:\t&quot;;
		std::cin &gt;&gt; name;
		std::cout &lt;&lt; &quot;MHD:\t&quot;;
		std::cin &gt;&gt; mhd;

		icebox.addElement(name, mhd);
	}

	icebox.printElements(std::cout);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1979615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1979615</guid><dc:creator><![CDATA[BasicMan01]]></dc:creator><pubDate>Fri, 12 Nov 2010 17:51:32 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamische Objekte anlegen - Keine Ausgabe on Fri, 12 Nov 2010 17:58:34 GMT]]></title><description><![CDATA[<p>Und wie nennen sich die Prinzipien mit welchen du deinen Code aufgebaut hast?</p>
<p>Weil ich möchte ja verstehen und kein Copy&amp;Paste <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/1979618</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1979618</guid><dc:creator><![CDATA[9A-91]]></dc:creator><pubDate>Fri, 12 Nov 2010 17:58:34 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamische Objekte anlegen - Keine Ausgabe on Fri, 12 Nov 2010 18:14:51 GMT]]></title><description><![CDATA[<p>Ich kann mir unter &quot;Prinzipien&quot; grad nicht viel vorstellen.<br />
Aber wenn es darum geht, warum ich es so gemacht habe, wie ich es gemacht habe:</p>
<p>- Die Klasse kapselt die Daten und die Benutzeraktionen finden außerhalb statt (Eingabe)<br />
- Ich kann jederzeit neue Elemente hinzufügen, ohne die alten zu überschreiben (Bei dir sind die Elemente pfutsch, wenn neu() durchflogen wurde.<br />
- Ich hab auf globale Variablen verzichtet<br />
- den vector der STL fand ich hier besser als mit new und delete herumzujonglieren.<br />
- sorgfältige Einrückungen !!! &lt;&lt; ganz wichtig ... Code muss das Auge erfreuen <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="🤡"
    /><br />
- verwenden von Initialisierungslisten<br />
- und ich persönlich versuche, cin und cout in Klassen zu vermeiden. Warum, weiß ich aber 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="😃"
    /> Bauchgefühl</p>
<p>reicht das? ... andere wissen bestimmt auch noch coole Sachen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1979632</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1979632</guid><dc:creator><![CDATA[BasicMan01]]></dc:creator><pubDate>Fri, 12 Nov 2010 18:14:51 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamische Objekte anlegen - Keine Ausgabe on Fri, 12 Nov 2010 22:28:03 GMT]]></title><description><![CDATA[<p>Hat es einen grun warumd u immer std:: vor allem möglichen schreibset?!?!? reicht nicht einfach using namespace std; ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1979723</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1979723</guid><dc:creator><![CDATA[9A-91]]></dc:creator><pubDate>Fri, 12 Nov 2010 22:28:03 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamische Objekte anlegen - Keine Ausgabe on Fri, 12 Nov 2010 22:35:21 GMT]]></title><description><![CDATA[<p>Der Namensraum hat ja den Grund Kollisionen mit anderen Namen zu vermeiden. Wenn du nun &quot;using namespace ...&quot; machst ist das ganze obsolet. Besser wäre da z.B. &quot;using std::cout&quot;, also nur einzelne Elemente offenlegen. Vielen machen aber beides nicht (was durchaus nicht falsch ist) und deshalb muss überall der Namensraum mit angeben werden, da sonst die funktionen/etc... nicht gefunden werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1979726</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1979726</guid><dc:creator><![CDATA[HighLigerBiMBam]]></dc:creator><pubDate>Fri, 12 Nov 2010 22:35:21 GMT</pubDate></item></channel></rss>