<?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[private methode aus klasse in headerdatei implementieren]]></title><description><![CDATA[<p>hi,<br />
mein problem ist, dass ich in meiner headerdatei eine methode als private deklariert habe und diese in einer anderen datei implementieren möchte, sodass keine implementierung in der headerdatei steht.<br />
da diese ja private ist, kann ich ja nur aus der klasse selber drauf zugreifen, also müsste ich sie ja in der headerdatei implementieren, was ich nicht möchte.</p>
<p>von meiner überlegung her, müsste ich demnach auf eine andere methode der gleichen klasse zugreifen, die ich auf public gesetzt habe, welche dann auf die private methode zugreift und diese implementiert?! das müsste ja gehen, da sie dann in der gleichen klasse stehen oder?!</p>
<pre><code>class Rational
{
    private:
        long zaehler, nenner;
        long ggT (long a,long b)
        {
             if (b == 0)
                return a;
             else
                 return ggT(a,a%b);
        }

    public:
        Rational();
        Rational(long z, long n);
        Rational(long gz); // für Ganzzahlen
        Rational(const Rational&amp; r); // Kopierkonstruktor

        void add(Rational&amp; a, Rational&amp; b);
        void sub(Rational&amp; a, Rational&amp; b);
        void mult(Rational&amp; a, Rational&amp; b);
        void div(Rational&amp; a, Rational&amp; b);

        void set(long z, long n);
        void kehrwert();
        void kuerzen();
        void ausgabe();
};
</code></pre>
<p>die methode ggT würde ich demnach gerne in meiner implementierungsdatei stehen haben und oben nur den rumpf.<br />
kann mir da jmd weiterhelfen?<br />
danke</p>
<p>hoffentlich versteht jmd, was ich meine <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/topic/202359/private-methode-aus-klasse-in-headerdatei-implementieren</link><generator>RSS for Node</generator><lastBuildDate>Tue, 06 Oct 2026 15:45:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/202359.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 10 Jan 2008 16:11:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to private methode aus klasse in headerdatei implementieren on Thu, 10 Jan 2008 16:11:47 GMT]]></title><description><![CDATA[<p>hi,<br />
mein problem ist, dass ich in meiner headerdatei eine methode als private deklariert habe und diese in einer anderen datei implementieren möchte, sodass keine implementierung in der headerdatei steht.<br />
da diese ja private ist, kann ich ja nur aus der klasse selber drauf zugreifen, also müsste ich sie ja in der headerdatei implementieren, was ich nicht möchte.</p>
<p>von meiner überlegung her, müsste ich demnach auf eine andere methode der gleichen klasse zugreifen, die ich auf public gesetzt habe, welche dann auf die private methode zugreift und diese implementiert?! das müsste ja gehen, da sie dann in der gleichen klasse stehen oder?!</p>
<pre><code>class Rational
{
    private:
        long zaehler, nenner;
        long ggT (long a,long b)
        {
             if (b == 0)
                return a;
             else
                 return ggT(a,a%b);
        }

    public:
        Rational();
        Rational(long z, long n);
        Rational(long gz); // für Ganzzahlen
        Rational(const Rational&amp; r); // Kopierkonstruktor

        void add(Rational&amp; a, Rational&amp; b);
        void sub(Rational&amp; a, Rational&amp; b);
        void mult(Rational&amp; a, Rational&amp; b);
        void div(Rational&amp; a, Rational&amp; b);

        void set(long z, long n);
        void kehrwert();
        void kuerzen();
        void ausgabe();
};
</code></pre>
<p>die methode ggT würde ich demnach gerne in meiner implementierungsdatei stehen haben und oben nur den rumpf.<br />
kann mir da jmd weiterhelfen?<br />
danke</p>
<p>hoffentlich versteht jmd, was ich meine <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/1434408</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1434408</guid><dc:creator><![CDATA[petedeluxe2k]]></dc:creator><pubDate>Thu, 10 Jan 2008 16:11:47 GMT</pubDate></item><item><title><![CDATA[Reply to private methode aus klasse in headerdatei implementieren on Thu, 10 Jan 2008 16:14:27 GMT]]></title><description><![CDATA[<p>tut mir leid, das thema war ein wenig falsch formuliert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1434413</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1434413</guid><dc:creator><![CDATA[petedeluxe2k]]></dc:creator><pubDate>Thu, 10 Jan 2008 16:14:27 GMT</pubDate></item><item><title><![CDATA[Reply to private methode aus klasse in headerdatei implementieren on Thu, 10 Jan 2008 16:21:04 GMT]]></title><description><![CDATA[<p>petedeluxe2k schrieb:</p>
<blockquote>
<p>da diese ja private ist, kann ich ja nur aus der klasse selber drauf zugreifen, also müsste ich sie ja in der headerdatei implementieren, was ich nicht möchte.</p>
</blockquote>
<p>Nein, das ist falsch.</p>
<p>Dass die Methode privat ist, hat nichts mit Dateien zu tun, Du kannst sie trotzdem in einer anderen Datei implementieren, genauso, wie man auch öffentliche Methoden dort implementieren würde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1434424</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1434424</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Thu, 10 Jan 2008 16:21:04 GMT</pubDate></item><item><title><![CDATA[Reply to private methode aus klasse in headerdatei implementieren on Thu, 10 Jan 2008 16:30:57 GMT]]></title><description><![CDATA[<p>C++ kennt Operatoren ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1434435</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1434435</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 10 Jan 2008 16:30:57 GMT</pubDate></item><item><title><![CDATA[Reply to private methode aus klasse in headerdatei implementieren on Thu, 10 Jan 2008 16:34:08 GMT]]></title><description><![CDATA[<p>ich dachte, dass ich bei private methoden nur innerhalb der selben klasse drauf zugreifen kann.<br />
da ich hier die klasse in die headerdatei geschrieben hab, würde ich ja von außerhalb der klasse drauf zugreifen müssen?!<br />
versteh ich da was falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1434438</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1434438</guid><dc:creator><![CDATA[petedeluxe2k]]></dc:creator><pubDate>Thu, 10 Jan 2008 16:34:08 GMT</pubDate></item><item><title><![CDATA[Reply to private methode aus klasse in headerdatei implementieren on Thu, 10 Jan 2008 16:43:14 GMT]]></title><description><![CDATA[<p>offensichtlich verstehst du da was falsch. &quot;nur aus der klasse drauf zugreifen&quot; beideutet, dass nur die klasse selbst diese methode aussführen kann. Das bedeutet aber nicht, dass du nur in derselben headerdatei darauf zugreifen kannst. Klassenmethoden, die man nicht sofort in der klassendefinition definiert, werde so definiert:</p>
<pre><code class="language-cpp">//klassendefinition

class C {
public:
  void f();
private:
  void g();
};

//Methodendefinition:

void C::f() {
  /*...*/
}

void C::g() {
  /*...*/
}
</code></pre>
<p>Dabei ist dem Compiler völlig wurscht, wo du die einzelnen Methodendefinitionen hinschreibst, er muss sie nur beim Linken schonmal irgendwo in objektcode übersetzt haben, sonst meckert er.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1434443</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1434443</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 10 Jan 2008 16:43:14 GMT</pubDate></item><item><title><![CDATA[Reply to private methode aus klasse in headerdatei implementieren on Thu, 10 Jan 2008 16:46:56 GMT]]></title><description><![CDATA[<p>schon eine halbe stunde später hab ich die antwort auf meine frage.<br />
jetzt weiss ich wenigstens auch, wo mein denkfehler lag.</p>
<p>vielen dank! das hat mir sehr zum verständnis beigetragen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1434446</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1434446</guid><dc:creator><![CDATA[petedeluxe2k]]></dc:creator><pubDate>Thu, 10 Jan 2008 16:46:56 GMT</pubDate></item></channel></rss>