<?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[Konstruktor für Felder (C++)]]></title><description><![CDATA[<p>Folgendes Problem.<br />
Ich habe eine Klasse:</p>
<p>typedef unsigned long int uli_t; //Typedef wegen Faulheit</p>
<p>class Person_c { //Klasse Person_c</p>
<p>private:</p>
<p>uli_t id; //Identifikationsnummer<br />
String_c vname; //Vorname (Instanz der Klasse String_c)<br />
String_c nname; //Nachname (Instanz der Klasse String_c)</p>
<p>public:</p>
<p>Person_c( const String_c &amp;nname_,const String_c &amp;vname_ = &quot;&quot;,const uli_t id_ = 1);<br />
Person_c( const Person_c &amp;per ); //Copy-Konstruktor<br />
const Person_c&amp; operator = ( const Person_c&amp; per ); //Wertzuweisung<br />
};</p>
<p>Bisher habe ich im Hauptprogramm zur Verwaltung von mehreren Personen ein Array gebaut.<br />
Person_c Personen[5] = {Person_c(&quot;<em>&quot;),Person_c(&quot;</em>&quot;),Person_c(&quot;<em>&quot;),Person_c(&quot;</em>&quot;),Person_c(&quot;*&quot;),};</p>
<p>Ich wollte dieses Feld nun dynamisch machen.<br />
Allerdings scheiter ich bereits an einem Default Konstruktor, der ein Feld initialisiert.<br />
Also zum Beispiel, dass ich einfach nur schreiben brauch:<br />
Person_c Personen[5];</p>
<p>Wenn ich das nämlich dynamisch lösen möchte brauch ich doch so einen Konstruktor für meinen Dynamischen Bereich.<br />
Meinetwegen:<br />
Person_c *Personen = new Person_c [10];</p>
<p>Kann mir vielleicht jemand sagen ob das überhaupt geht? und wenn ja wie?</p>
<p>Vielen Dank.</p>
<p>grüße peter</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/182576/konstruktor-für-felder-c</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 23:41:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/182576.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 26 May 2007 19:52:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Konstruktor für Felder (C++) on Sat, 26 May 2007 19:52:52 GMT]]></title><description><![CDATA[<p>Folgendes Problem.<br />
Ich habe eine Klasse:</p>
<p>typedef unsigned long int uli_t; //Typedef wegen Faulheit</p>
<p>class Person_c { //Klasse Person_c</p>
<p>private:</p>
<p>uli_t id; //Identifikationsnummer<br />
String_c vname; //Vorname (Instanz der Klasse String_c)<br />
String_c nname; //Nachname (Instanz der Klasse String_c)</p>
<p>public:</p>
<p>Person_c( const String_c &amp;nname_,const String_c &amp;vname_ = &quot;&quot;,const uli_t id_ = 1);<br />
Person_c( const Person_c &amp;per ); //Copy-Konstruktor<br />
const Person_c&amp; operator = ( const Person_c&amp; per ); //Wertzuweisung<br />
};</p>
<p>Bisher habe ich im Hauptprogramm zur Verwaltung von mehreren Personen ein Array gebaut.<br />
Person_c Personen[5] = {Person_c(&quot;<em>&quot;),Person_c(&quot;</em>&quot;),Person_c(&quot;<em>&quot;),Person_c(&quot;</em>&quot;),Person_c(&quot;*&quot;),};</p>
<p>Ich wollte dieses Feld nun dynamisch machen.<br />
Allerdings scheiter ich bereits an einem Default Konstruktor, der ein Feld initialisiert.<br />
Also zum Beispiel, dass ich einfach nur schreiben brauch:<br />
Person_c Personen[5];</p>
<p>Wenn ich das nämlich dynamisch lösen möchte brauch ich doch so einen Konstruktor für meinen Dynamischen Bereich.<br />
Meinetwegen:<br />
Person_c *Personen = new Person_c [10];</p>
<p>Kann mir vielleicht jemand sagen ob das überhaupt geht? und wenn ja wie?</p>
<p>Vielen Dank.</p>
<p>grüße peter</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1292830</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1292830</guid><dc:creator><![CDATA[peeeter]]></dc:creator><pubDate>Sat, 26 May 2007 19:52:52 GMT</pubDate></item><item><title><![CDATA[Reply to Konstruktor für Felder (C++) on Sat, 26 May 2007 20:10:35 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>also Person = new Person_c[10]; holt erstmal nur Speicher für 10 Person_c Objekte. Die einzelnen Objekte kannst du mit Person[0-9] = Person_c(&quot;*&quot;); zu weisen.<br />
Löschen musst du das Array am Ende natürlich auch mittels delete [] Person;</p>
<p>Dein operator =() sollte auch nur Person_C&amp; zurückgeben - also ohne const.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1292840</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1292840</guid><dc:creator><![CDATA[Konrad]]></dc:creator><pubDate>Sat, 26 May 2007 20:10:35 GMT</pubDate></item><item><title><![CDATA[Reply to Konstruktor für Felder (C++) on Sat, 26 May 2007 20:22:34 GMT]]></title><description><![CDATA[<p>Danke für die schnelle Antwort.</p>
<p>Das habe ich mir auch auch gedachte.<br />
Ich hab in meiner Main also geschrieben:</p>
<p>Person_c *myArray;<br />
myArray = new Person_c[10];</p>
<p>Ich kommt nicht mal zum initialisieren.<br />
Mein Compiler spuckt vorher folgende Fehlermeldung aus:</p>
<p>Cannot find default constructor to initialize array element to type 'Person_c'</p>
<p>Wie sieht denn dieser Konstruktor aus?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1292846</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1292846</guid><dc:creator><![CDATA[peeeter]]></dc:creator><pubDate>Sat, 26 May 2007 20:22:34 GMT</pubDate></item><item><title><![CDATA[Reply to Konstruktor für Felder (C++) on Sat, 26 May 2007 21:01:47 GMT]]></title><description><![CDATA[<p>Entschuldigung, hab mich irgendwie verlesen. Das was du machen möchtest geht soweit ich weiß nicht mit dynamischen Arrays.</p>
<p>Du kannst aber nen std::vector nehmen, welcher dir auch die Speicherverwaltung abnimmt:</p>
<pre><code class="language-cpp">{
  std::vector&lt;Person_c&gt; Person(10, Person_C(&quot;*&quot;));
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1292862</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1292862</guid><dc:creator><![CDATA[Konrad]]></dc:creator><pubDate>Sat, 26 May 2007 21:01:47 GMT</pubDate></item><item><title><![CDATA[Reply to Konstruktor für Felder (C++) on Sat, 26 May 2007 22:28:22 GMT]]></title><description><![CDATA[<p>Habs gelöst. Danke. Good night.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1292906</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1292906</guid><dc:creator><![CDATA[peeeter]]></dc:creator><pubDate>Sat, 26 May 2007 22:28:22 GMT</pubDate></item></channel></rss>