<?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[Klassen (Delete)]]></title><description><![CDATA[<p>ist es möglich dieses hier auszugeben:</p>
<pre><code>class Person
{
public:
void Person::Ausgabe(int zahl)
{
cout &lt;&lt; zahl &lt;&lt; endl;
cout &lt;&lt; &quot;hajhgiawslkjfgiawfjahw&quot; &lt;&lt; endl;
}

void Person::Ausgabe() = delete;
};
</code></pre>
<p>bevor die funktion <em>Ausgabe</em> gelöscht wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/325524/klassen-delete</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Jul 2026 14:44:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/325524.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 06 May 2014 14:21:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klassen (Delete) on Tue, 06 May 2014 14:22:12 GMT]]></title><description><![CDATA[<p>ist es möglich dieses hier auszugeben:</p>
<pre><code>class Person
{
public:
void Person::Ausgabe(int zahl)
{
cout &lt;&lt; zahl &lt;&lt; endl;
cout &lt;&lt; &quot;hajhgiawslkjfgiawfjahw&quot; &lt;&lt; endl;
}

void Person::Ausgabe() = delete;
};
</code></pre>
<p>bevor die funktion <em>Ausgabe</em> gelöscht wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397688</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397688</guid><dc:creator><![CDATA[Berzerk]]></dc:creator><pubDate>Tue, 06 May 2014 14:22:12 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen (Delete) on Tue, 06 May 2014 14:43:25 GMT]]></title><description><![CDATA[<p>Das Löschen von Methoden passiert zur Kompilierzeit, die Frage macht also keinen Sinn.<br />
Was willst du denn erreichen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397694</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397694</guid><dc:creator><![CDATA[asen]]></dc:creator><pubDate>Tue, 06 May 2014 14:43:25 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen (Delete) on Tue, 06 May 2014 15:02:58 GMT]]></title><description><![CDATA[<p>asen schrieb:</p>
<blockquote>
<p>Das Löschen von Methoden passiert zur Kompilierzeit, die Frage macht also keinen Sinn.<br />
Was willst du denn erreichen?</p>
</blockquote>
<p>Achso oke danke</p>
<p>Ich wollte meinen Text ausgeben lassen und danach die Funktion löschen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
<p>Jetzt versteh ich aber nicht wozu es diese delete funktion gibt...</p>
<p>Ist es denn möglich den Wert einer Variable in der gleichen Klasse einer anderen Methode zu übergeben? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397697</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397697</guid><dc:creator><![CDATA[Berzerk]]></dc:creator><pubDate>Tue, 06 May 2014 15:02:58 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen (Delete) on Tue, 06 May 2014 16:52:47 GMT]]></title><description><![CDATA[<p>Berzerk schrieb:</p>
<blockquote>
<p>asen schrieb:</p>
<blockquote>
<p>Das Löschen von Methoden passiert zur Kompilierzeit, die Frage macht also keinen Sinn.<br />
Was willst du denn erreichen?</p>
</blockquote>
<p>Achso oke danke</p>
<p>Ich wollte meinen Text ausgeben lassen und danach die Funktion löschen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
<p>Jetzt versteh ich aber nicht wozu es diese delete funktion gibt...</p>
</blockquote>
<p>delete ist nur aus einem einfachen Grund da:<br />
Der Compiler generiert bei Bedarf z.B. automatisch einen copy-Konstruktor, der einfach alle Member kopiert. Es gibt Fälle, da will man das nicht und definiert einen eigenen, z.B. wenn man eine deep copy machen muss. Es gibt allerdings auch Fälle, da will man überhaupt keinen copy-Konstruktor. Dann nutzt man =delete. Das geht aber nur bei Funktionen, die ansonsten vom Compiler automatisch generiert werden.</p>
<p>Edit: Und um Überladungen zu blocken, siehe nwp3. Hab das total vergessen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397700</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Tue, 06 May 2014 16:52:47 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen (Delete) on Tue, 06 May 2014 15:34:29 GMT]]></title><description><![CDATA[<p>Stell dir vor du willst eine Funktion schreiben, die ein long int nimmt, aber kein int oder char.</p>
<pre><code>void foo(long int){}

int main(){
    foo(42); //42 wird von int in long int konvertiert, doof
    foo('?'); //'?' wird in long int konvertiert, doof
}
</code></pre>
<pre><code>void foo(long int){} //Funktion mit long int gibts

template&lt;class T&gt;
void foo(T) = delete; //Rest wird gelöscht

int main(){
    foo('?'); //error: versuche eine gelöschte Funktion aufzurufen.
    foo(42); //error: versuche eine gelöschte Funktion aufzurufen.
    foo(42L); //geht
}
</code></pre>
<p>Damit sollte man aber sparsam umgehen. Automatische konvertierungen sind meist schon sinnvoll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397710</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397710</guid><dc:creator><![CDATA[nwp3]]></dc:creator><pubDate>Tue, 06 May 2014 15:34:29 GMT</pubDate></item></channel></rss>