<?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[Bezeichnung von Funktionen bei Delegation]]></title><description><![CDATA[<p>Hallo,</p>
<p>angenommen ich habe einen Baum, der aus Knoten und Kanten aufgebaut ist, und ich implementiere Bäume mittels der Klasse</p>
<pre><code class="language-cpp">class Tree 
{
    list&lt;Node*&gt; m_nodes;
    void save() const;
    …
};
</code></pre>
<p>und Knoten mittels der Klasse</p>
<pre><code class="language-cpp">class Node 
{
    void save() const;
    …
};
</code></pre>
<p>Die Methode Tree::save() bestehe u.a. aus Aufrufen von Node::save():</p>
<pre><code class="language-cpp">void Tree::save() const
{
    …
    BOOST_FOREACH(Node* n, m_nodes)
        n-&gt;save();
}
</code></pre>
<p>Dabei ist Node::save() dergestalt, dass ein Aufruf dieser Methode unabhängig von Tree::save() nichts sinnvolles macht.</p>
<p>Hierzu zwei Fragen</p>
<ul>
<li>Gibt es eine Bezeichung für die Art von Methoden, wie sie Node::save() darstellt? Also Methoden einer Klasse A, die nur dafür da sind, von der Klasse, die Objekte der Klasse A besitzt, aufgerufen zu werden. Es erinnert mich irgendwie an Template-Methoden (im Sinne von Gamma et al.), ist aber ja keine.</li>
<li>Gibt es eine Namenskonvention für solche Methoden? Also so etwas wie bei Template-Methoden, dass man sie mit do_… beginnt.</li>
</ul>
]]></description><link>https://www.c-plusplus.net/forum/topic/284382/bezeichnung-von-funktionen-bei-delegation</link><generator>RSS for Node</generator><lastBuildDate>Sat, 22 Aug 2026 02:27:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/284382.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 31 Mar 2011 10:45:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Bezeichnung von Funktionen bei Delegation on Thu, 31 Mar 2011 10:45:28 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>angenommen ich habe einen Baum, der aus Knoten und Kanten aufgebaut ist, und ich implementiere Bäume mittels der Klasse</p>
<pre><code class="language-cpp">class Tree 
{
    list&lt;Node*&gt; m_nodes;
    void save() const;
    …
};
</code></pre>
<p>und Knoten mittels der Klasse</p>
<pre><code class="language-cpp">class Node 
{
    void save() const;
    …
};
</code></pre>
<p>Die Methode Tree::save() bestehe u.a. aus Aufrufen von Node::save():</p>
<pre><code class="language-cpp">void Tree::save() const
{
    …
    BOOST_FOREACH(Node* n, m_nodes)
        n-&gt;save();
}
</code></pre>
<p>Dabei ist Node::save() dergestalt, dass ein Aufruf dieser Methode unabhängig von Tree::save() nichts sinnvolles macht.</p>
<p>Hierzu zwei Fragen</p>
<ul>
<li>Gibt es eine Bezeichung für die Art von Methoden, wie sie Node::save() darstellt? Also Methoden einer Klasse A, die nur dafür da sind, von der Klasse, die Objekte der Klasse A besitzt, aufgerufen zu werden. Es erinnert mich irgendwie an Template-Methoden (im Sinne von Gamma et al.), ist aber ja keine.</li>
<li>Gibt es eine Namenskonvention für solche Methoden? Also so etwas wie bei Template-Methoden, dass man sie mit do_… beginnt.</li>
</ul>
]]></description><link>https://www.c-plusplus.net/forum/post/2042715</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2042715</guid><dc:creator><![CDATA[ingobulla]]></dc:creator><pubDate>Thu, 31 Mar 2011 10:45:28 GMT</pubDate></item><item><title><![CDATA[Reply to Bezeichnung von Funktionen bei Delegation on Thu, 31 Mar 2011 15:06:23 GMT]]></title><description><![CDATA[<p>Ich versteh deine Frage nicht ganz, aber dein Code so hat nur private Member und Methoden. Wenn du Ausserhalb von Tree keinen Zugriff auf Node::save() zulassen willst könntest du die Node::save() privat lassen und dort Tree als friend deklarieren. Damit hat Tree zugriff, alle anderen sehen sie aber nicht da private. Alternativ könntest du Node auch als private innere classe in Tree deklarieren - dann kennt niemand ausser dem Tree seine Nodes. Dann müsste das generieren (laden) natürlich ähnlich funtionieren Tree::load() welches dann den Baum aufbaut.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2042817</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2042817</guid><dc:creator><![CDATA[padreigh]]></dc:creator><pubDate>Thu, 31 Mar 2011 15:06:23 GMT</pubDate></item><item><title><![CDATA[Reply to Bezeichnung von Funktionen bei Delegation on Thu, 31 Mar 2011 15:13:27 GMT]]></title><description><![CDATA[<p>Es kommt ein wenig drauf an was dieses save tut. Aber ich würde sagen so wie das klingt ist das, was diese Funktion tun soll nicht Aufgabe des Knoten, sondern des Baumes. Warum sollte ein Knoten wissen was er mit save tun soll, wenn sie nur Sinn macht, wenn sie von einem Baum aufgerufen wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2042821</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2042821</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Thu, 31 Mar 2011 15:13:27 GMT</pubDate></item></channel></rss>