<?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[Klasse mit char* als Dataelement]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte eine Klasse definieren, die als Dataelement einen String mit vorgegebener Länge (z.B. 6) haben muß. Irgendwie kriege ich das nicht hin, diese Einschränkung gleich in der Klassendefinition zu machen, so daß ich folgende Lösung gewählt habe:</p>
<pre><code class="language-cpp">MyClass(int, char*, bool);
</code></pre>
<p>Das funktioniert soweit gut. Nun, habe ich im</p>
<pre><code class="language-cpp">main
</code></pre>
<p>folgenden Code:</p>
<pre><code class="language-cpp">char mystring[10];
MyClass MyClassInst[3];

for (int i=0;i&lt;3;i++) {
		cout &lt;&lt; i+1 &lt;&lt; &quot; &quot;;
		cin &gt;&gt; mystring;
		MyClassInst[i]=MyClass(i+1,mystring,true);
}
</code></pre>
<p>Das Problem ist, daß nach der Schleife, die Array</p>
<pre><code class="language-cpp">MyClassInst
</code></pre>
<p>denselben string hat und zwar den zuletzt gesetzten! Das leuchtet mir eigentlich auch ein, da ich immer einen Zeiger übergebe, d.h. die feste Adresse mit neuen Werte belege und überschreibe!! Wie kann ich das vermeiden?</p>
<p>Im voraus besten Dank für jede Hilfe!</p>
<p>Gruß,<br />
Emmanuel</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/162635/klasse-mit-char-als-dataelement</link><generator>RSS for Node</generator><lastBuildDate>Sat, 12 Sep 2026 16:53:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/162635.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 20 Oct 2006 23:40:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klasse mit char* als Dataelement on Fri, 20 Oct 2006 23:40:49 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte eine Klasse definieren, die als Dataelement einen String mit vorgegebener Länge (z.B. 6) haben muß. Irgendwie kriege ich das nicht hin, diese Einschränkung gleich in der Klassendefinition zu machen, so daß ich folgende Lösung gewählt habe:</p>
<pre><code class="language-cpp">MyClass(int, char*, bool);
</code></pre>
<p>Das funktioniert soweit gut. Nun, habe ich im</p>
<pre><code class="language-cpp">main
</code></pre>
<p>folgenden Code:</p>
<pre><code class="language-cpp">char mystring[10];
MyClass MyClassInst[3];

for (int i=0;i&lt;3;i++) {
		cout &lt;&lt; i+1 &lt;&lt; &quot; &quot;;
		cin &gt;&gt; mystring;
		MyClassInst[i]=MyClass(i+1,mystring,true);
}
</code></pre>
<p>Das Problem ist, daß nach der Schleife, die Array</p>
<pre><code class="language-cpp">MyClassInst
</code></pre>
<p>denselben string hat und zwar den zuletzt gesetzten! Das leuchtet mir eigentlich auch ein, da ich immer einen Zeiger übergebe, d.h. die feste Adresse mit neuen Werte belege und überschreibe!! Wie kann ich das vermeiden?</p>
<p>Im voraus besten Dank für jede Hilfe!</p>
<p>Gruß,<br />
Emmanuel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1158499</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1158499</guid><dc:creator><![CDATA[emmanuel]]></dc:creator><pubDate>Fri, 20 Oct 2006 23:40:49 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse mit char* als Dataelement on Sat, 21 Oct 2006 05:13:47 GMT]]></title><description><![CDATA[<p>emmanuel schrieb:</p>
<blockquote>
<p>Irgendwie kriege ich das nicht hin, diese Einschränkung gleich in der Klassendefinition zu machen,</p>
</blockquote>
<p>&quot;Irgendwie kriege ich das nicht hin&quot; ist keine ausreichende Fehlerbeschreibung.</p>
<blockquote>
<p>Wie kann ich das vermeiden?</p>
</blockquote>
<p>std::string benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1158514</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1158514</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Sat, 21 Oct 2006 05:13:47 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse mit char* als Dataelement on Mon, 23 Oct 2006 06:19:30 GMT]]></title><description><![CDATA[<p>Und wenn du unbedingt auf blanken char-Arrays arbeiten willst - leg dir im Konstruktor ein neues Array an und kopiere die Daten mit strcpy() dort rein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1159293</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1159293</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 23 Oct 2006 06:19:30 GMT</pubDate></item></channel></rss>