<?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[Struktur als Rückgabewert einer Methode]]></title><description><![CDATA[<p>Hallo!</p>
<p>ICh bin noch relativ neu auf dem Gebiet C++ und beschäftige mich gerade mit dem Thema OOP. Dabei bin ich auf folgendes Problem gestoßen.</p>
<p>Ich habe zB. eine Klasse Mensch mit den privaten Variablen: Name, Alter, Größe.</p>
<p>Um diese Variablen außerhalb der Klasse zu nutzen kann man ja Methoden schreiben, die diese Werte als Rückgabewert zurückliefern. Soweit so gut.</p>
<p>Ich wollte nun aber eine Methode schreiben, die Name, Alter und Größe als Struktur zurückliefert. Damit ich nicht 3 Methoden brauche.</p>
<p>Ich habe tausende von Varianten ausprobiert, aber irgendwie klappt keine so recht. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Und im Internet hab ich sonst auch nichts gefunden.</p>
<p>Habt ihr vielleicht einen Vorschlag, wie man das mittels struct meißtern könnte.</p>
<p>Oder würdet ihr mir für diesen Fall eine andere Möglichkeit empfehlen, mehrere private Variablen einer Methode zu bekommen.</p>
<p>Ich danke euch schonmal für eure Antworten! <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/topic/216413/struktur-als-rückgabewert-einer-methode</link><generator>RSS for Node</generator><lastBuildDate>Sun, 11 Oct 2026 10:57:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/216413.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 23 Jun 2008 18:33:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Struktur als Rückgabewert einer Methode on Mon, 23 Jun 2008 18:34:35 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>ICh bin noch relativ neu auf dem Gebiet C++ und beschäftige mich gerade mit dem Thema OOP. Dabei bin ich auf folgendes Problem gestoßen.</p>
<p>Ich habe zB. eine Klasse Mensch mit den privaten Variablen: Name, Alter, Größe.</p>
<p>Um diese Variablen außerhalb der Klasse zu nutzen kann man ja Methoden schreiben, die diese Werte als Rückgabewert zurückliefern. Soweit so gut.</p>
<p>Ich wollte nun aber eine Methode schreiben, die Name, Alter und Größe als Struktur zurückliefert. Damit ich nicht 3 Methoden brauche.</p>
<p>Ich habe tausende von Varianten ausprobiert, aber irgendwie klappt keine so recht. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Und im Internet hab ich sonst auch nichts gefunden.</p>
<p>Habt ihr vielleicht einen Vorschlag, wie man das mittels struct meißtern könnte.</p>
<p>Oder würdet ihr mir für diesen Fall eine andere Möglichkeit empfehlen, mehrere private Variablen einer Methode zu bekommen.</p>
<p>Ich danke euch schonmal für eure Antworten! <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/1534350</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1534350</guid><dc:creator><![CDATA[Erikly]]></dc:creator><pubDate>Mon, 23 Jun 2008 18:34:35 GMT</pubDate></item><item><title><![CDATA[Reply to Struktur als Rückgabewert einer Methode on Mon, 23 Jun 2008 18:40:03 GMT]]></title><description><![CDATA[<p>Wie wäre es damit:</p>
<pre><code class="language-cpp">class CMensch
{
    std::string m_Name;
    int m_iHeight;
    int m_iOld;

public:
    void get_multiple(std::string&amp; rName, int&amp; riHeight, int&amp; riOld)
    {
        rName = m_Name;
        riHeight = m_iHeight;
        riOld = m_iOld;
    }
}
</code></pre>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1534353</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1534353</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Mon, 23 Jun 2008 18:40:03 GMT</pubDate></item><item><title><![CDATA[Reply to Struktur als Rückgabewert einer Methode on Mon, 23 Jun 2008 18:40:27 GMT]]></title><description><![CDATA[<p>Also du könntest auch Zeiger auf Variablen übergeben, die gefüllt werden sollen.</p>
<p>Oder wie du schon sagst ein struct zurückgeben. Was klappt den daran nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1534354</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1534354</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 23 Jun 2008 18:40:27 GMT</pubDate></item><item><title><![CDATA[Reply to Struktur als Rückgabewert einer Methode on Mon, 23 Jun 2008 19:52:14 GMT]]></title><description><![CDATA[<p>Die &quot;struct&quot; Variante sieht so aus:</p>
<pre><code class="language-cpp">struct Stuff
{
    std::string Name;
    unsigned Age;
};

// old school
void Human::GetStuff(Stuff&amp; stuff) const
{
    stuff.Name = ...;
    stuff.Age = ...;
}

// new school
Stuff Human::GetStuff() const
{
    Stuff stuff;
    stuff.Name = ...;
    stuff.Age = ...;
    return stuff;
}
</code></pre>
<blockquote>
<p>Ich wollte nun aber eine Methode schreiben, die Name, Alter und Größe als Struktur zurückliefert. Damit ich nicht 3 Methoden brauche.</p>
</blockquote>
<p>Schlechter Grund. &quot;GetMultiple&quot; Methoden sind eigentlich nicht wirklich üblich, normalerweise verwendet man einfach mehrere Methoden die einzelne Werte zurückgeben. Wenn du davon abweichen willst solltest du IMO einen besseren Grund haben als &quot;damit ich nicht 3 Methoden brauche&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1534386</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1534386</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 23 Jun 2008 19:52:14 GMT</pubDate></item><item><title><![CDATA[Reply to Struktur als Rückgabewert einer Methode on Mon, 23 Jun 2008 19:45:10 GMT]]></title><description><![CDATA[<p>geht doch ganz einfach:</p>
<pre><code class="language-cpp">struct daten
{
   std::string name;
   unsigned alter;
   int whatever;
}

class Person
{
private:
   std::string name;
   unsigned age;
   int groesse;
   mutable daten struktur;       // mutable wegen dem const 

public:
   daten GetDaten() const
   {
       // daten struktur;             // oder eben eine temporäre struktur...
       struktur.name = this-&gt;name;
       struktur.alter = this-&gt;age;
       struktur.whatever = this-&gt;groesse;
       return struktur;
   }
};
</code></pre>
<p>kein problem oder?<br />
wobei die temp variable zu bevorzugen ist wegen der übersichtlichkeit</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1534407</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1534407</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Mon, 23 Jun 2008 19:45:10 GMT</pubDate></item><item><title><![CDATA[Reply to Struktur als Rückgabewert einer Methode on Mon, 23 Jun 2008 19:48:02 GMT]]></title><description><![CDATA[<p>Ok...da stand ich wohl irgendwie aufm Schlauch <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="🙄"
    /> ...werde es aber wahrscheinlich in zukunft doch mit mehreren methoden machen.<br />
danke euch</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1534408</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1534408</guid><dc:creator><![CDATA[Erikly]]></dc:creator><pubDate>Mon, 23 Jun 2008 19:48:02 GMT</pubDate></item><item><title><![CDATA[Reply to Struktur als Rückgabewert einer Methode on Mon, 23 Jun 2008 19:51:34 GMT]]></title><description><![CDATA[<p>Argh, hab ich const vergessen... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/18806">@Skym0sh0</a>: Dein &quot;mutable&quot; Konstrukt führt dazu dass die Klasse nichtmehr im &quot;üblichen&quot; Sinn thread-safe ist (&quot;üblich&quot; wäre dass man const Funktionen aus mehreren Threads gleichzeitig aufrufen darf ohne dass schlimme Dinge passieren). Aus DEM Grund würde ich die &quot;temp variable&quot; bevorzugen. <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/1534413</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1534413</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 23 Jun 2008 19:51:34 GMT</pubDate></item><item><title><![CDATA[Reply to Struktur als Rückgabewert einer Methode on Mon, 23 Jun 2008 23:46:41 GMT]]></title><description><![CDATA[<p>habe grade das wort mutable gelesen und nun interessiert mich was es damit auf sich hat, woltle aer keinen extra thread aufmachen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1534504</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1534504</guid><dc:creator><![CDATA[Quellcode]]></dc:creator><pubDate>Mon, 23 Jun 2008 23:46:41 GMT</pubDate></item><item><title><![CDATA[Reply to Struktur als Rückgabewert einer Methode on Tue, 24 Jun 2008 07:27:45 GMT]]></title><description><![CDATA[<p>Quellcode schrieb:</p>
<blockquote>
<p>habe grade das wort mutable gelesen und nun interessiert mich was es damit auf sich hat, woltle aer keinen extra thread aufmachen...</p>
</blockquote>
<p>Wenn eine Methode const deklariert ist kann sie keine Membervariablen ändern. Mit mutable sagst du aber das dies für einzelne Member nicht gilt (die mit mutable deklariert sind).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1534555</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1534555</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Tue, 24 Jun 2008 07:27:45 GMT</pubDate></item><item><title><![CDATA[Reply to Struktur als Rückgabewert einer Methode on Tue, 24 Jun 2008 08:11:30 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Argh, hab ich const vergessen... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/18806">@Skym0sh0</a>: Dein &quot;mutable&quot; Konstrukt führt dazu dass die Klasse nichtmehr im &quot;üblichen&quot; Sinn thread-safe ist (&quot;üblich&quot; wäre dass man const Funktionen aus mehreren Threads gleichzeitig aufrufen darf ohne dass schlimme Dinge passieren). Aus DEM Grund würde ich die &quot;temp variable&quot; bevorzugen. <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>
</blockquote>
<p>jo ich hab ja auch dazu geschriebend ass die tmp var zu bevorzugen ist<br />
wollte eifnach mal mit meinem nicht vorhandenen wissen glänzen <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="😉"
    /> xDDD</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/4881">@Quellcode</a>: wie asc gesagt hat<br />
als mutable deklarierte variablen kann man auch in konstenten methoden ändern...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1534578</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1534578</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Tue, 24 Jun 2008 08:11:30 GMT</pubDate></item></channel></rss>