<?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[Deklarieren ohne Definieren von Konstruktor und Destruktor]]></title><description><![CDATA[<blockquote>
<p>Es ist egal, ob man den Konstruktor / Destruktor definiert oder nicht</p>
</blockquote>
<p>Zitat mikey aus einem andern Thread. Im angegeben Code sind Konstruktor und Destruktor aber deklariert.</p>
<p>Ich dachte eigentlich bisher, wenn Destruktor und Konstruktor nicht DEKLARIERT sind erstellt der Compiler eine Definition davon. Funktionniert das tatsächlich auch wenn man sie deklariert und bloß eben nicht definiert? Kanns gerade leider nicht testen, darum frage ich hier nach.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/172950/deklarieren-ohne-definieren-von-konstruktor-und-destruktor</link><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 03:31:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/172950.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 10 Feb 2007 09:27:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Deklarieren ohne Definieren von Konstruktor und Destruktor on Sat, 10 Feb 2007 09:27:22 GMT]]></title><description><![CDATA[<blockquote>
<p>Es ist egal, ob man den Konstruktor / Destruktor definiert oder nicht</p>
</blockquote>
<p>Zitat mikey aus einem andern Thread. Im angegeben Code sind Konstruktor und Destruktor aber deklariert.</p>
<p>Ich dachte eigentlich bisher, wenn Destruktor und Konstruktor nicht DEKLARIERT sind erstellt der Compiler eine Definition davon. Funktionniert das tatsächlich auch wenn man sie deklariert und bloß eben nicht definiert? Kanns gerade leider nicht testen, darum frage ich hier nach.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1226070</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1226070</guid><dc:creator><![CDATA[Shinja]]></dc:creator><pubDate>Sat, 10 Feb 2007 09:27:22 GMT</pubDate></item><item><title><![CDATA[Reply to Deklarieren ohne Definieren von Konstruktor und Destruktor on Sat, 10 Feb 2007 10:06:51 GMT]]></title><description><![CDATA[<blockquote>
<p>Ich dachte eigentlich bisher, wenn Destruktor und Konstruktor nicht DEKLARIERT sind erstellt der Compiler eine Definition davon.</p>
</blockquote>
<p>Das stimmt. Dann erstellt der Compiler einen leeren Standardkonstruktor.</p>
<blockquote>
<p>Funktionniert das tatsächlich auch wenn man sie deklariert und bloß eben nicht definiert?</p>
</blockquote>
<p>Jop, das funktioniert, zumindest wird es kompiliert.</p>
<p>MfG mikey.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1226078</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1226078</guid><dc:creator><![CDATA[mikey]]></dc:creator><pubDate>Sat, 10 Feb 2007 10:06:51 GMT</pubDate></item><item><title><![CDATA[Reply to Deklarieren ohne Definieren von Konstruktor und Destruktor on Sat, 10 Feb 2007 10:57:01 GMT]]></title><description><![CDATA[<p>mikey schrieb:</p>
<blockquote>
<blockquote>
<p>Funktionniert das tatsächlich auch wenn man sie deklariert und bloß eben nicht definiert?</p>
</blockquote>
<p>Jop, das funktioniert, zumindest wird es kompiliert.</p>
</blockquote>
<p>Da muss man aber schon eine eigenartige Bedeutung von &quot;funktioniert&quot; annehmen. Ich würde auf die Frage des OPs eindeutig mit &quot;nein&quot; antworten. Zum einen bezieht sich das &quot;funktioniert&quot;, so wie ich das verstehe, auf &quot;erstellt der Compiler eine Definition davon&quot; und das tut er nicht, wenn man einen Ctor/Dtor deklariert, aber nicht definiert. Zum anderen wird solcher Code zwar übersetzt, man erhält aber am Ende kein ausführbares Programm, da Aufrufe des besagten Ctos/Dtors nicht aufgelöst werden können.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1226100</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1226100</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Sat, 10 Feb 2007 10:57:01 GMT</pubDate></item><item><title><![CDATA[Reply to Deklarieren ohne Definieren von Konstruktor und Destruktor on Sat, 10 Feb 2007 12:12:06 GMT]]></title><description><![CDATA[<p>Es gilt:<br />
Wenn du keinen Standartkonstruktur/-destruktor deklarierst, macht das der Compiler für dich, solange du keinen anderen Konstruktor/Destruktor deklariert hast.</p>
<p>Gruß TheImaginator</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1226135</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1226135</guid><dc:creator><![CDATA[TheImaginator]]></dc:creator><pubDate>Sat, 10 Feb 2007 12:12:06 GMT</pubDate></item><item><title><![CDATA[Reply to Deklarieren ohne Definieren von Konstruktor und Destruktor on Sun, 11 Feb 2007 04:07:43 GMT]]></title><description><![CDATA[<p>Gut, dann hatte ich das doch richtig verstanden. Im, andern Thread wurde es auch nochmal aufgegriffen.</p>
<p>Danke an euch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1226624</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1226624</guid><dc:creator><![CDATA[Shinja]]></dc:creator><pubDate>Sun, 11 Feb 2007 04:07:43 GMT</pubDate></item><item><title><![CDATA[Reply to Deklarieren ohne Definieren von Konstruktor und Destruktor on Sun, 11 Feb 2007 05:45:07 GMT]]></title><description><![CDATA[<p>Es funktioniert, solange man eben den deklarierten-aber-nicht-definierten Konstruktor nicht aufruft.</p>
<p>Mit dem Copy-Konstruktor wird das oft so gemacht (meist gemeinsam mit dem Assignment Operator, um Klassen &quot;nicht kopierbar&quot; zu machen), und zwar deklariert man den dann private, und lässt die Definition weg. Damit ist sichergestellt dass die Funktion eben nicht aufgerufen werden kann.</p>
<p>Allerdings kann ich jetzt auch keinen Sinn darin finden den Default Konstruktor zu deklarieren aber nicht zu definieren. Irgendeinen Konstruktor braucht man schliesslich wenn man eine Klasse instanzieren will, und sobald man einen definiert, wird eh kein Default Konstruktor mehr automatisch herbeigezaubert...</p>
<p>*hmmmm*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1226636</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1226636</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sun, 11 Feb 2007 05:45:07 GMT</pubDate></item><item><title><![CDATA[Reply to Deklarieren ohne Definieren von Konstruktor und Destruktor on Sun, 11 Feb 2007 06:50:24 GMT]]></title><description><![CDATA[<blockquote>
<p>Ich dachte eigentlich bisher, wenn Destruktor und Konstruktor nicht DEKLARIERT sind erstellt der Compiler eine Definition davon.</p>
</blockquote>
<p>Wenn du keinen Konstruktor <em>deklarierst</em>, <strong>deklariert</strong> der Compiler einen Defaultkonstruktor. <em>Erst wenn</em> du in Folge ein Objekt erzeugen willst, dass den Defaultkonstruktor aufrufen würde, wird dieser implizit <em>definiert</em>. Der Unterschied ist praktisch nicht von Bedeutung (abgesehen davon, dass die Diagnose erst später erfolgt), denn der einzige Fall, in dem die Deklaration des Konstruktors wichtig sein könnte, ohne dass eine Definition benötigt wird, dürfte in einem sizeof-Ausdruck bestehen. Grundsätzlich ist aber eine Klassendefinition nicht deshalb fehlerhaft, weil es unmöglich ist, ein Objekt dieser Klasse zu erstellen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1226641</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1226641</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sun, 11 Feb 2007 06:50:24 GMT</pubDate></item><item><title><![CDATA[Reply to Deklarieren ohne Definieren von Konstruktor und Destruktor on Sun, 11 Feb 2007 07:16:07 GMT]]></title><description><![CDATA[<p>Im genannten Fall (also im andern Thread) sollten aber soweit ich mich erinnere Instanyen der Klasse angelegt werden.</p>
<p>Vielen Dank für die ausführlichen Erklärungen, ich denk jetzt hab ichs ganz verstanden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1226642</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1226642</guid><dc:creator><![CDATA[Shinja]]></dc:creator><pubDate>Sun, 11 Feb 2007 07:16:07 GMT</pubDate></item></channel></rss>