<?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[Alle Parameter innerhalb der Klasse auslesen oder überschreiben.]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>sind solche Konstruktionen legitim oder soll dafür der Konstruktor verwendet werden?</p>
<pre><code class="language-cpp">class A {
 private:

  int a;
  int b;

 public:

  A ();
  ~A ();

  GetAll (class A *pobjA);
  SetAll (class A objA);
};
</code></pre>
<p>Danke für die Hinweise!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/256248/alle-parameter-innerhalb-der-klasse-auslesen-oder-überschreiben</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 09:42:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/256248.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 10 Dec 2009 08:58:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Alle Parameter innerhalb der Klasse auslesen oder überschreiben. on Thu, 10 Dec 2009 08:58:49 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>sind solche Konstruktionen legitim oder soll dafür der Konstruktor verwendet werden?</p>
<pre><code class="language-cpp">class A {
 private:

  int a;
  int b;

 public:

  A ();
  ~A ();

  GetAll (class A *pobjA);
  SetAll (class A objA);
};
</code></pre>
<p>Danke für die Hinweise!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1820441</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1820441</guid><dc:creator><![CDATA[shuriko]]></dc:creator><pubDate>Thu, 10 Dec 2009 08:58:49 GMT</pubDate></item><item><title><![CDATA[Reply to Alle Parameter innerhalb der Klasse auslesen oder überschreiben. on Thu, 10 Dec 2009 09:14:18 GMT]]></title><description><![CDATA[<ol>
<li>bei den Parametern ist das &quot;class&quot; überflüssig. In C musste man noch structs explizit mit dem Schlüsselwort struct bezeichnen, in C++ ist sowas nicht mehr nötig.</li>
<li>den Methoden fehlen die Rückgabewerte, das ist kein gültiges C++.</li>
<li>Normalerweise haben Klassen gewisse Invarianten, das ist einer der Hauptgründe für Kapselung und private Attribute. Methoden zu haben, mit denen man alle Attribute beliebig verändern kann, macht die Kapselung zunichte, da kann man dann gleich structs mit public Attributen als einfache Datenbündel benutzen. Wenn du ein Objekt gleich einem anderen machen möchtest (danach sieht dein SetAll aus), gibts den operator=. Für das GetAll sehe ich keine wirkliche Verwendung.</li>
<li>Wie immer gilt: Sag uns nicht was du machen willst, sondern was du damit erreichen willst. Es gibt vermutlich bessere Methoden,das zu erreichen.</li>
</ol>
]]></description><link>https://www.c-plusplus.net/forum/post/1820445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1820445</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 10 Dec 2009 09:14:18 GMT</pubDate></item><item><title><![CDATA[Reply to Alle Parameter innerhalb der Klasse auslesen oder überschreiben. on Thu, 10 Dec 2009 09:21:17 GMT]]></title><description><![CDATA[<p>Wie sähe das im Code aus, wenn der Inhalt eines Objekts a1 nach a2 übertragen werden sollte?</p>
<pre><code class="language-cpp">A a1, a2;
    a2.SetAll( a1 );
    // oder
    a1.GetAll( &amp;a2 );
</code></pre>
<p>Abgesehen davon, dass das redundant ist (welche der beiden Methoden ist zu empfehlen?) ist doch mit einem einfachen</p>
<pre><code class="language-cpp">A a1, a2;
    a2 = a1;
</code></pre>
<p>viel offensichtlicher was da passiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1820446</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1820446</guid><dc:creator><![CDATA[Werner_logoff]]></dc:creator><pubDate>Thu, 10 Dec 2009 09:21:17 GMT</pubDate></item><item><title><![CDATA[Reply to Alle Parameter innerhalb der Klasse auslesen oder überschreiben. on Thu, 10 Dec 2009 09:35:12 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<ol start="2">
<li>den Methoden fehlen die Rückgabewerte, das ist kein gültiges C++.</li>
</ol>
</blockquote>
<p>Wie würdest Du diese die Methoden in der Klasse schreiebn? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <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/1820451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1820451</guid><dc:creator><![CDATA[shuriko]]></dc:creator><pubDate>Thu, 10 Dec 2009 09:35:12 GMT</pubDate></item><item><title><![CDATA[Reply to Alle Parameter innerhalb der Klasse auslesen oder überschreiben. on Thu, 10 Dec 2009 09:41:35 GMT]]></title><description><![CDATA[<p>shuriko schrieb:</p>
<blockquote>
<p>pumuckl schrieb:</p>
<blockquote>
<ol start="2">
<li>den Methoden fehlen die Rückgabewerte, das ist kein gültiges C++.</li>
</ol>
</blockquote>
<p>Wie würdest Du diese die Methoden in der Klasse schreiebn? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <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>
</blockquote>
<p>Könntest du deinen Crypto-Chip deaktivieren? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <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/1820456</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1820456</guid><dc:creator><![CDATA[Jollaweib]]></dc:creator><pubDate>Thu, 10 Dec 2009 09:41:35 GMT</pubDate></item><item><title><![CDATA[Reply to Alle Parameter innerhalb der Klasse auslesen oder überschreiben. on Thu, 10 Dec 2009 09:41:45 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<ol start="4">
<li>Wie immer gilt: Sag uns nicht was du machen willst, sondern was du damit erreichen willst. Es gibt vermutlich bessere Methoden,das zu erreichen.</li>
</ol>
</blockquote>
<p>Es gibt eine C-Bibliothek. Die C-Methoden dieser Bibliothek haben als Übergabewerte Strukturpointer. Diese C-Bibliothek soll in CPP-Umgebung verwendet werden. Ich wollte eigentlich so eine Art der CPP-Schnittstellen aufbauen, die dann mit Werten aus der C-Strukturen initialisiert werden. :xmas2:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1820457</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1820457</guid><dc:creator><![CDATA[shuriko]]></dc:creator><pubDate>Thu, 10 Dec 2009 09:41:45 GMT</pubDate></item><item><title><![CDATA[Reply to Alle Parameter innerhalb der Klasse auslesen oder überschreiben. on Thu, 10 Dec 2009 09:44:43 GMT]]></title><description><![CDATA[<p>Jollaweib schrieb:</p>
<blockquote>
<p>shuriko schrieb:</p>
<blockquote>
<p>pumuckl schrieb:</p>
<blockquote>
<ol start="2">
<li>den Methoden fehlen die Rückgabewerte, das ist kein gültiges C++.</li>
</ol>
</blockquote>
<p>Wie würdest Du diese die Methoden in der Klasse schreiebn? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <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>
</blockquote>
<p>Könntest du deinen Crypto-Chip deaktivieren? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <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>
</blockquote>
<p>Dein freundlichen Hinweis habe ich nicht verstanden. :xmas1: Vielleicht liegt es daran, dass das Deutsch nicht meine <strong>Schwestersprache</strong> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /> ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1820458</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1820458</guid><dc:creator><![CDATA[shuriko]]></dc:creator><pubDate>Thu, 10 Dec 2009 09:44:43 GMT</pubDate></item><item><title><![CDATA[Reply to Alle Parameter innerhalb der Klasse auslesen oder überschreiben. on Thu, 10 Dec 2009 09:54:50 GMT]]></title><description><![CDATA[<p>shuriko schrieb:</p>
<blockquote>
<p>Dein freundlichen Hinweis habe ich nicht verstanden. :xmas1:</p>
</blockquote>
<p>Genauso wie ich deine Frage <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /><br />
Die war eben sehr kryptisch.</p>
<p>Das ist einfach so dass in C++ - genauso wie C - Funktionen bei Deklaration und Definition ein Rückgabewert vorangestellt werden muss. Gibt die Funktion nichts zurück muss man trotzdem ein &quot;void&quot; vorne hin schreiben.<br />
Ein Konstruktor und Destruktor haben keinen Rückgabewert - einzige Ausnahme.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1820463</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1820463</guid><dc:creator><![CDATA[Jollaweib]]></dc:creator><pubDate>Thu, 10 Dec 2009 09:54:50 GMT</pubDate></item><item><title><![CDATA[Reply to Alle Parameter innerhalb der Klasse auslesen oder überschreiben. on Thu, 10 Dec 2009 10:07:56 GMT]]></title><description><![CDATA[<p>Jollaweib schrieb:</p>
<blockquote>
<p>Das ist einfach so dass in C++ - genauso wie C - Funktionen bei Deklaration und Definition ein Rückgabewert vorangestellt werden muss. Gibt die Funktion nichts zurück muss man trotzdem ein &quot;void&quot; vorne hin schreiben.<br />
Ein Konstruktor und Destruktor haben keinen Rückgabewert - einzige Ausnahme.</p>
</blockquote>
<p>A-aaa! Jetzt habe ich es gemerkt. Ja die Typen habe ich erstmals gelassen. Die sind bei meiner Frage nicht wichtig. Aber egal. Ich merke schon, dass ich liebe mein Problem definieren muss und dann mit Beispielen los legen.</p>
<p>Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1820472</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1820472</guid><dc:creator><![CDATA[shuriko]]></dc:creator><pubDate>Thu, 10 Dec 2009 10:07:56 GMT</pubDate></item><item><title><![CDATA[Reply to Alle Parameter innerhalb der Klasse auslesen oder überschreiben. on Thu, 10 Dec 2009 11:31:37 GMT]]></title><description><![CDATA[<p>shuriko schrieb:</p>
<blockquote>
<p>Es gibt eine C-Bibliothek. Die C-Methoden dieser Bibliothek haben als Übergabewerte Strukturpointer. Diese C-Bibliothek soll in CPP-Umgebung verwendet werden. Ich wollte eigentlich so eine Art der CPP-Schnittstellen aufbauen, die dann mit Werten aus der C-Strukturen initialisiert werden. :xmas2:</p>
</blockquote>
<p>Ich fasse mal zusammen wie ich das jetzt verstanden hab:</p>
<ol>
<li>Du hast eine C-Bibliothek mit einem struct, nennen wirs mal CStruct und einigen Funktionen f1()...fn(), die jeweils einen CStruct-Pointer akzeptieren und darauf arbeiten. So wie C halt objektorientiert arbeiten kann mit den begrenzten Sprachmitteln.</li>
<li>du möchtest eine C++-Klasse CppClass schreiben, die das alles kapselt, quasi als Schnittstelle zwischen deinem C++-Code und der Bibliothek.</li>
</ol>
<p>Wie das umzusetzen ist hängt davon ab, wer die CStruct-objekte erzeugt und zerstört - wenn du da keinen direkten Zugriff hast würde ich eine Art Proxy-Klasse schreiben, die intern nur einen Pointer auf ein CStruct hält und einfach alle Methodenaufrufe an die entsprechenden Funktionsaufrufe delegiert. Der Ctor nimmt eifach einen Poitner auf das bereits erzeugte CStruct, auf dem Das Objekt danach arbeiten soll.<br />
Andernfalls, wenn du Zugriff auf die Erzeugungsfunktion hast, kapselst du die Erzeugung des CStructs im Konstruktor deiner Klasse und die Objekte der Klasse besitzen selber jeweils die Instanz des CStructs auf der sie arbeiten. Die Methoden delegieren wie gehabt alle Zugriffe an die entsprechenden Funktionen aus der Bibliothek. Der Destruktor erledigt die Entsorgung des CStructs.<br />
Wenn du es schaffst, alle benötigten Funktionen, die auf dem CStruct arbeiten, in Methoden zu verpacken, wars das auch schon, andernfalls brauchst du noch eine GetCStructPointer-Methode (mit Rückgabewert CStruct*).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1820505</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1820505</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 10 Dec 2009 11:31:37 GMT</pubDate></item><item><title><![CDATA[Reply to Alle Parameter innerhalb der Klasse auslesen oder überschreiben. on Thu, 10 Dec 2009 11:45:26 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>Wie das umzusetzen ist hängt davon ab...</p>
</blockquote>
<p>Ja, das wollte ich! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> <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="😉"
    /> Vielen Dank. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1820510</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1820510</guid><dc:creator><![CDATA[shuriko]]></dc:creator><pubDate>Thu, 10 Dec 2009 11:45:26 GMT</pubDate></item></channel></rss>