<?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[Klassenvariable ohne Standardkonstruktor übergeben]]></title><description><![CDATA[<p>Hallo ich bins nochmal!</p>
<p>Ich habe wieder ein kleines Problem im Umgang mit Klassen.<br />
Ich lerne fange gerade an das ganze Wirr Warr zu lernen und zu verstehen.</p>
<p>Und zwar habe ich eine Klasse ohne Standardkonstruktor.<br />
Eine Variable dieser Klasse möchte ich in einer anderen verwenden, doch es wieder immer angekreidet, dass diese Klasse keinen Standardkonstruktor hat..</p>
<p>Header Klasse A:</p>
<pre><code>public:
ClassA(int a);

private:
int wert;
</code></pre>
<p>Quelldatei Klasse A:</p>
<pre><code>#include &quot;ClassA.h&quot;
ClassA::ClassA(int a)
{
 wert = a;
}
</code></pre>
<p>Header Klasse B:</p>
<pre><code>public:
ClassB();

private:
ClassA test;
</code></pre>
<p>Ist die einzige Möglichkeit einen Standardkonstruktor zu verwenden und mit einer set Methode die Variable wert zu füllen oder gibt es andere Möglichkeiten?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/325686/klassenvariable-ohne-standardkonstruktor-übergeben</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Jul 2026 02:40:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/325686.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 13 May 2014 12:58:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klassenvariable ohne Standardkonstruktor übergeben on Tue, 13 May 2014 12:58:31 GMT]]></title><description><![CDATA[<p>Hallo ich bins nochmal!</p>
<p>Ich habe wieder ein kleines Problem im Umgang mit Klassen.<br />
Ich lerne fange gerade an das ganze Wirr Warr zu lernen und zu verstehen.</p>
<p>Und zwar habe ich eine Klasse ohne Standardkonstruktor.<br />
Eine Variable dieser Klasse möchte ich in einer anderen verwenden, doch es wieder immer angekreidet, dass diese Klasse keinen Standardkonstruktor hat..</p>
<p>Header Klasse A:</p>
<pre><code>public:
ClassA(int a);

private:
int wert;
</code></pre>
<p>Quelldatei Klasse A:</p>
<pre><code>#include &quot;ClassA.h&quot;
ClassA::ClassA(int a)
{
 wert = a;
}
</code></pre>
<p>Header Klasse B:</p>
<pre><code>public:
ClassB();

private:
ClassA test;
</code></pre>
<p>Ist die einzige Möglichkeit einen Standardkonstruktor zu verwenden und mit einer set Methode die Variable wert zu füllen oder gibt es andere Möglichkeiten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2398983</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2398983</guid><dc:creator><![CDATA[Muck]]></dc:creator><pubDate>Tue, 13 May 2014 12:58:31 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenvariable ohne Standardkonstruktor übergeben on Tue, 13 May 2014 13:01:35 GMT]]></title><description><![CDATA[<p>Schon mal was von Initialisierungslisten im Konstruktor gehoert?</p>
<pre><code>ClassB::ClassB() :
    test(4)
{
    ...
}
</code></pre>
<p>Google hilft dir sicher von hier aus weiter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2398985</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2398985</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Tue, 13 May 2014 13:01:35 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenvariable ohne Standardkonstruktor übergeben on Tue, 13 May 2014 14:19:07 GMT]]></title><description><![CDATA[<p>Die Initialisierungsliste kannte ich noch nicht danke!</p>
<p>Habe sie auch direkt eingebaut.<br />
Jetzt wo ich mein Programm testen wollte springt er immer mit der Fehlermeldung raus:</p>
<blockquote>
<p>Unbehandelte Ausnahme bei 0x00F04A4B in Praktikum 2.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0xCCCCCCE4</p>
</blockquote>
<p>Ich habe mich auch schon mit dem Debugger rangesetzt, verstehe die Ursache allerdings nicht..</p>
<p>Das Programm läuft bis zu der markierten Stelle in der basic_string lib:</p>
<pre><code>bool _Grow(size_type _Newsize,
		bool _Trim = false)
		{	// ensure buffer is big enough, trim to size if _Trim is true
		if (max_size() &lt; _Newsize)
			_Xlen();	// result too long
		if (this-&gt;_Myres &lt; _Newsize) // &lt;-------------- DIESE STELLE
			_Copy(_Newsize, this-&gt;_Mysize);	// reallocate to grow
		else if (_Trim &amp;&amp; _Newsize &lt; this-&gt;_BUF_SIZE)
			_Tidy(true,	// copy and deallocate if trimming to small string
				_Newsize &lt; this-&gt;_Mysize ? _Newsize : this-&gt;_Mysize);
		else if (_Newsize == 0)
			_Eos(0);	// new size is zero, just null terminate
		return (0 &lt; _Newsize);	// return true only if more work to do
		}
</code></pre>
<p>Meine Klasse sieht momentan so aus:<br />
Headerdatei</p>
<pre><code>#include &lt;string&gt;
using namespace std;
public:
	Kunde(string _name, string _address);
        ~Kunde(void);
private:
string name;
string address;
</code></pre>
<p>Quelldatei</p>
<pre><code>#include &quot;Kunde.h&quot;

Kunde::Kunde(string _name, string _address)
	:name(_name), address(_address)
{
	name = _name;
	address = _address;
}
Kunde::~Kunde()
{
}
</code></pre>
<p>Folgendes steht in der Main:</p>
<pre><code>#include &quot;Kunde.h&quot;
int main()
{
 Kunde Testkunde(&quot;Peter&quot;, &quot;Deutschland&quot;);

 return  0;
}
</code></pre>
<p>Der Debugger geht bis zu String &quot;Peter&quot; dann endet das Programm in den tiefen der basic_string lib.</p>
<p>Hast du dabei vllt. auch einen Rat?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2398997</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2398997</guid><dc:creator><![CDATA[Muck]]></dc:creator><pubDate>Tue, 13 May 2014 14:19:07 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenvariable ohne Standardkonstruktor übergeben on Tue, 13 May 2014 14:59:24 GMT]]></title><description><![CDATA[<p>Ließ dir noch einmal genau durch wie das mit der Initialisierungsliste läuft.<br />
Zeile 6/7 sind dann unnötig in der Quell.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2399004</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2399004</guid><dc:creator><![CDATA[Fuchs aus dem Wald]]></dc:creator><pubDate>Tue, 13 May 2014 14:59:24 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenvariable ohne Standardkonstruktor übergeben on Tue, 13 May 2014 15:37:41 GMT]]></title><description><![CDATA[<p>Oh okay, die meisten Beispiele wurden so beschrieben.<br />
Ich werd mich nochmal ransetzen, danke.</p>
<p>Den anderen Fehler habe ich mittlerweile herausgefunden, hat sich erledigt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2399011</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2399011</guid><dc:creator><![CDATA[Muck]]></dc:creator><pubDate>Tue, 13 May 2014 15:37:41 GMT</pubDate></item></channel></rss>