<?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[this ist const?]]></title><description><![CDATA[<pre><code class="language-cpp">class ClassA {
	void MyFunc() {
		ClassB *obj = new ClassB(this);
	}
}

class ClassB {
	ClassB(ClassA &amp;obj) { \\ Konstruktor
	}
}

// Fehler:
// cannot convert parameter 1 from 'class ClassA *const ' to 'class ClassA &amp;'
</code></pre>
<p>Ich möchte innerhalb von ClassA das aktive Objekt von ClassA (this) an ClassB übergeben. ClassB soll ein paar Änderungen vornehmen. Darf &quot;this&quot; bei der Übergabe nicht verändert werden?</p>
<p>Würdet Ihr sagen das sei kein guter Stil? Wenn ja vereinige ich die beiden Klassen... momentan ist es wegen der Übersichtlichkeit nur sehr angenehm 2 mittelgroße Klassen zu haben.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/189632/this-ist-const</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 09:46:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/189632.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 15 Aug 2007 10:28:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to this ist const? on Wed, 15 Aug 2007 10:28:43 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class ClassA {
	void MyFunc() {
		ClassB *obj = new ClassB(this);
	}
}

class ClassB {
	ClassB(ClassA &amp;obj) { \\ Konstruktor
	}
}

// Fehler:
// cannot convert parameter 1 from 'class ClassA *const ' to 'class ClassA &amp;'
</code></pre>
<p>Ich möchte innerhalb von ClassA das aktive Objekt von ClassA (this) an ClassB übergeben. ClassB soll ein paar Änderungen vornehmen. Darf &quot;this&quot; bei der Übergabe nicht verändert werden?</p>
<p>Würdet Ihr sagen das sei kein guter Stil? Wenn ja vereinige ich die beiden Klassen... momentan ist es wegen der Übersichtlichkeit nur sehr angenehm 2 mittelgroße Klassen zu haben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1344858</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1344858</guid><dc:creator><![CDATA[martin_salo]]></dc:creator><pubDate>Wed, 15 Aug 2007 10:28:43 GMT</pubDate></item><item><title><![CDATA[Reply to this ist const? on Wed, 15 Aug 2007 10:32:34 GMT]]></title><description><![CDATA[<p>Was mir als erstes auffällt:</p>
<p>Der Konstruktor von ClassB nimmt eine <strong>Refernez</strong> auf ClassA, this ist aber ein <strong>Pointer</strong> auf ClassA</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1344861</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1344861</guid><dc:creator><![CDATA[darthdespotism]]></dc:creator><pubDate>Wed, 15 Aug 2007 10:32:34 GMT</pubDate></item><item><title><![CDATA[Reply to this ist const? on Wed, 15 Aug 2007 10:33:07 GMT]]></title><description><![CDATA[<p>Dein Problem ist nicht das const, sondern der Versuch, einen ClassA-Zeiger an eine Funktion zu übergeben, die eine ClassA-Referenz erwartet (die sind zwar verwandt, aber grundverschieden). Entweder du dereferenzierst this bei der Übergabe oder du passt den Ctor so an, daß er einen Pointer entgegennimmt.</p>
<p>PS: Um dir Tips zum Design zu geben, habe ich zu wenig Informationen über die Aufgaben der beteiligten Klassen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1344862</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1344862</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 15 Aug 2007 10:33:07 GMT</pubDate></item><item><title><![CDATA[Reply to this ist const? on Wed, 15 Aug 2007 10:42:50 GMT]]></title><description><![CDATA[<p>Argh! Ihr habt Recht. Ist ja auch logisch das man den ThisPointer nicht verändern darf.</p>
<p>Zum Design: Die eine Klasse (ClassA) erstellt einen XML Baum und die andere Klassen (ClassB) verschlüsselt alle Knoten die auf bestimmte Weise makiert sind. So habe ich etwas Übersichtlichkeit gewonnen, auf der anderen Seite ist ClassB halt nur eine funktionale Erweiterung von ClassA.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1344870</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1344870</guid><dc:creator><![CDATA[martin_salo]]></dc:creator><pubDate>Wed, 15 Aug 2007 10:42:50 GMT</pubDate></item><item><title><![CDATA[Reply to this ist const? on Wed, 15 Aug 2007 10:47:45 GMT]]></title><description><![CDATA[<p>martin_salo schrieb:</p>
<blockquote>
<p>Zum Design: Die eine Klasse (ClassA) erstellt einen XML Baum und die andere Klassen (ClassB) verschlüsselt alle Knoten die auf bestimmte Weise makiert sind.</p>
</blockquote>
<p>Klingt IMHO nach einem kaputten Design. Allein schon deswegen, weil alle Klassen etwas <em><strong>tun</strong></em>, anstatt etwas zu <em><strong>sein</strong></em>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1344876</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1344876</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Wed, 15 Aug 2007 10:47:45 GMT</pubDate></item><item><title><![CDATA[Reply to this ist const? on Wed, 15 Aug 2007 10:59:30 GMT]]></title><description><![CDATA[<p>Dann muß ich wohl meinen Satz umformulieren. ClassA ist ein XML Baum mit Methoden die diesen Baum erweitern. ClassB ist die Erweiterung von ClassA um Verschlüsselung. Die EncEngine die wir benutzen ist recht unhandlich und erfordert Seitenlangen Source damit ich sie ansprechen kann. Deshalb ist es übersichtlicher diese Funktionalität getrennt unterzubringen. Auf der anderen Seite ist die EncryptKlasse aufs engste mit der XML Klasse verbunden, denn sie muß ja auch durch den Baum gehen um die markierten Knoten zu finden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1344883</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1344883</guid><dc:creator><![CDATA[martin_salo]]></dc:creator><pubDate>Wed, 15 Aug 2007 10:59:30 GMT</pubDate></item><item><title><![CDATA[Reply to this ist const? on Wed, 15 Aug 2007 11:53:34 GMT]]></title><description><![CDATA[<p>martin_salo schrieb:</p>
<blockquote>
<p>ClassB ist die Erweiterung von ClassA um Verschlüsselung.</p>
</blockquote>
<p>Dann sollte ClassB von ClassA ableiten, oder einen ClassA Member haben. Es macht aber keinen Sinn, dass eine Klasse etwas von ihrer Erweiterung weiss, geschweige denn dass ClassA eine Funktion enthaelt, die ein ClassB benutzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1344946</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1344946</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 15 Aug 2007 11:53:34 GMT</pubDate></item><item><title><![CDATA[Reply to this ist const? on Wed, 15 Aug 2007 12:19:38 GMT]]></title><description><![CDATA[<p>Ableiten ist ein gute Idee. ClassA würde ich dann irgendwie abstract machen so dass nur noch ClassB instanziiert werden kann und ich habe den Source trotzdem getrennt. Vielen Dank <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/1344978</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1344978</guid><dc:creator><![CDATA[martin_salo]]></dc:creator><pubDate>Wed, 15 Aug 2007 12:19:38 GMT</pubDate></item><item><title><![CDATA[Reply to this ist const? on Wed, 15 Aug 2007 12:26:29 GMT]]></title><description><![CDATA[<p>Warum denn abstrakt ?<br />
Darf es das ganze nicht ohne Verschlüsselung geben ?<br />
Sprich warum sollte es eine Instanz von Klasse A nicht geben können ?</p>
<p>Ist zwar evtl garnicht wichtig, aber ich bin halt beim lesen drüber gestolpert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1344989</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1344989</guid><dc:creator><![CDATA[shapeless]]></dc:creator><pubDate>Wed, 15 Aug 2007 12:26:29 GMT</pubDate></item><item><title><![CDATA[Reply to this ist const? on Wed, 15 Aug 2007 12:32:41 GMT]]></title><description><![CDATA[<p>Naja es geht um ein Dateiformat wo unsere Firma wichtige Daten abspeichern will. Ich schreibe den File Reader/Writer. Die geheimen Dateidaten sollen auf keinem Fall bei den Kundenrechnern im Klartext auf die Platte geschrieben werden... wenn jemand die WriteXMLToHD() Methode ohne die Encryption Methode aufrufen könnte wäre das nicht so gut.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1344997</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1344997</guid><dc:creator><![CDATA[martin_salo]]></dc:creator><pubDate>Wed, 15 Aug 2007 12:32:41 GMT</pubDate></item><item><title><![CDATA[Reply to this ist const? on Wed, 15 Aug 2007 12:38:55 GMT]]></title><description><![CDATA[<p>Und du meinst, die Klasse abstrakt zu machen reicht aus, um sowas zu verhindern? Wenn jemand es drauf anlegt, schreibt er sich eine eigene Noop_Encrypter-Klasse, die die Daten (nicht) verschlüsselt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345006</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345006</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 15 Aug 2007 12:38:55 GMT</pubDate></item><item><title><![CDATA[Reply to this ist const? on Wed, 15 Aug 2007 12:44:46 GMT]]></title><description><![CDATA[<p>Das erfordert aber nicht nur Nachlässigkeit sondern auch Bösartigkeit von Seiten unserer Entwickler. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345015</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345015</guid><dc:creator><![CDATA[martin_salo]]></dc:creator><pubDate>Wed, 15 Aug 2007 12:44:46 GMT</pubDate></item></channel></rss>