<?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[Funktionen um Anfang und Ende zu definieren]]></title><description><![CDATA[<p>Hallo,<br />
gibt es eine Möglichkeit etwas wie folgt zu machen:</p>
<pre><code class="language-cpp">// Außerhalb
BeispielKlasse-&gt;Main-&gt;Start();
int Beispiel = 0;
// Sachen die in Main ausgeführt werden sollen
Beispiel++;
BeispielKlasse-&gt;Main-&gt;End();
// Außerhalb
Beispiel = 0; // Fehler: Existiert hier nicht mehr!
</code></pre>
<p>So das ich quasi nur dort einen Gültigkeitsbereich oder der gleichen habe?<br />
Quasi der Anfanz und das Ende zwischen den man, dann Befehle ausführen lassen kann.</p>
<p>Danke</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/132316/funktionen-um-anfang-und-ende-zu-definieren</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 16:04:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/132316.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 09 Jan 2006 20:23:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funktionen um Anfang und Ende zu definieren on Mon, 09 Jan 2006 20:24:08 GMT]]></title><description><![CDATA[<p>Hallo,<br />
gibt es eine Möglichkeit etwas wie folgt zu machen:</p>
<pre><code class="language-cpp">// Außerhalb
BeispielKlasse-&gt;Main-&gt;Start();
int Beispiel = 0;
// Sachen die in Main ausgeführt werden sollen
Beispiel++;
BeispielKlasse-&gt;Main-&gt;End();
// Außerhalb
Beispiel = 0; // Fehler: Existiert hier nicht mehr!
</code></pre>
<p>So das ich quasi nur dort einen Gültigkeitsbereich oder der gleichen habe?<br />
Quasi der Anfanz und das Ende zwischen den man, dann Befehle ausführen lassen kann.</p>
<p>Danke</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/962179</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962179</guid><dc:creator><![CDATA[Dummie]]></dc:creator><pubDate>Mon, 09 Jan 2006 20:24:08 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen um Anfang und Ende zu definieren on Mon, 09 Jan 2006 20:34:49 GMT]]></title><description><![CDATA[<p>Hä welchen Sinn soll das haben? Machs doch einfach als Membervariable. Eine lokale lebt in ihrem Scope ab der Deklaration, da kannst du nix dran ändern.</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/962188</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962188</guid><dc:creator><![CDATA[FireFlow]]></dc:creator><pubDate>Mon, 09 Jan 2006 20:34:49 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen um Anfang und Ende zu definieren on Mon, 09 Jan 2006 20:39:33 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">start();

{
   int blub;
   blub = 123;
}

end();
</code></pre>
<p>Funktioniert das ? Ist mir grad spontan eingefallen (geraten!), einen neuen Block zu setzen. <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/962189</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962189</guid><dc:creator><![CDATA[xindon]]></dc:creator><pubDate>Mon, 09 Jan 2006 20:39:33 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen um Anfang und Ende zu definieren on Mon, 09 Jan 2006 20:40:13 GMT]]></title><description><![CDATA[<p>Ich wollte das, wenn ich z.B eine Socket Klasse programmiere das derjenige der sie benutzt, nicht in der Main() Funktion ( Wo der Empfangs Krams usw... drinne ist ) alles abändern muss sondern einfach mit:</p>
<pre><code class="language-cpp">Klasse-&gt;Main()-&gt;Start()
// Zusätzlicher Code
Klasse-&gt;Main()-&gt;End();
</code></pre>
<p>Den Code in der Main Funktion erweitern kann.</p>
<p>Scheinbar scheint das, aber nicht zu gehen.</p>
<p>Danke</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/962192</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962192</guid><dc:creator><![CDATA[Dummie]]></dc:creator><pubDate>Mon, 09 Jan 2006 20:40:13 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen um Anfang und Ende zu definieren on Mon, 09 Jan 2006 20:52:13 GMT]]></title><description><![CDATA[<p>Wenn du dein Problem und den Zweck von Start und End genauer erklären würdest könnte man dir besser helfen.<br />
Prinzipiell wäre sowas schön:</p>
<pre><code class="language-cpp">{
  MeineKlasste objekt;
  //machwas
}
//hier existiert objekt nicht mehr
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/962212</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962212</guid><dc:creator><![CDATA[User---]]></dc:creator><pubDate>Mon, 09 Jan 2006 20:52:13 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen um Anfang und Ende zu definieren on Mon, 09 Jan 2006 20:55:38 GMT]]></title><description><![CDATA[<p>User--- schrieb:</p>
<blockquote>
<p>Wenn du dein Problem und den Zweck von Start und End genauer erklären würdest könnte man dir besser helfen.<br />
Prinzipiell wäre sowas schön:</p>
<pre><code class="language-cpp">{
  MeineKlasste objekt;
  //machwas
}
//hier existiert objekt nicht mehr
</code></pre>
</blockquote>
<p>Hab ich doch gesagt <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 />
Also das funktioniert? -okay cool</p>
]]></description><link>https://www.c-plusplus.net/forum/post/962217</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962217</guid><dc:creator><![CDATA[xindon]]></dc:creator><pubDate>Mon, 09 Jan 2006 20:55:38 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen um Anfang und Ende zu definieren on Mon, 09 Jan 2006 21:09:10 GMT]]></title><description><![CDATA[<p>Dummie schrieb:</p>
<blockquote>
<p>Ich wollte das, wenn ich z.B eine Socket Klasse programmiere das derjenige der sie benutzt, nicht in der Main() Funktion ( Wo der Empfangs Krams usw... drinne ist ) alles abändern muss sondern einfach mit:</p>
<pre><code class="language-cpp">Klasse-&gt;Main()-&gt;Start()
// Zusätzlicher Code
Klasse-&gt;Main()-&gt;End();
</code></pre>
<p>Den Code in der Main Funktion erweitern kann.</p>
</blockquote>
<p>Ich bin mir nicht sicher, ob ich Dich verstanden habe. Das hört sich für mich wie eine Anwendung einer sogenannten Policy an. Ein User Deiner Klasse soll vor und nach dem Aufruf Deiner Methode Main() eigenen Code ausführen können, ohne Deine Klasse verändern zu müssen.<br />
Sowas geht etwa wie folgt:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

// Deine Klasse
template&lt; typename P &gt;
class CKlasse
{
public:
    explicit CKlasse( P policy = P() ) : m_policy( policy ) {}
    void Main()
    {
        m_policy.Start();
        // Code in Main
        std::cout &lt;&lt; &quot;mitten in CKlasse::Main() &quot; &lt;&lt; std::endl;
        m_policy.End();
    }
private:
    P m_policy;
};

// Klasse (hier als struct) des Users
struct MyStuff
{
    void Start() { std::cout &lt;&lt; &quot;Start &quot; &lt;&lt; std::endl; }
    void End() { std::cout &lt;&lt; &quot;End &quot; &lt;&lt; std::endl; }
};

// Anwendung
int main()
{
    using namespace std;
    CKlasse&lt; MyStuff &gt; Klasse;
    cout &lt;&lt; &quot;Main() wird aufgerufen .. &quot; &lt;&lt; endl;
    Klasse.Main();
    return 0;
}
</code></pre>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/962235</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962235</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Mon, 09 Jan 2006 21:09:10 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen um Anfang und Ende zu definieren on Tue, 10 Jan 2006 13:57:35 GMT]]></title><description><![CDATA[<p>Danke für eure Beiträge allerdings hab ich mich scheinbar nicht genau genug Ausgedrückt ich meinte nicht die Funktion Main() in einer Klasse sondern die Funktion int main() welche ein Konsolenprogramm immer besitzt man sollte aus dieser main() Funktion raus die Klasse erweitern können: Ich glaube DirectX macht soetwas Ähnliches mit BeginScene() und EndScene()!<br />
Ich hoffe ihr wisst nun was ihr meint die Sache mit dem Policy kannte ich noch nicht ich erkundige mich darüber mal vielleicht ist es ja sogar das was ich suche <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>
<p>Danke</p>
<p>Gruß</p>
<p>Edit:<br />
Bisschen Pseudo (hoffe es ist verständlich!</p>
<p>Teil - Pseudo</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

int main ()
{
  Klasse t;
  t-&gt;Start();
   // Funktion Main() in der Klasse &quot;Klasse&quot; erweitern
  std::cout &lt;&lt; &quot;Erweiterung!!!&quot; &lt;&lt; std::endl;
  t-&gt;End();
  std::cout &lt;&lt; &quot;Dies ist nicht mehr in der Main() Funktion der Klasse!&quot; &lt;&lt; std::endl;

  return 0;
}
</code></pre>
<p>Jedenfalls soll so die Funktion Main() in der Klasse erweitert werden ohne die Klasse selber anzurühren sondern einfach indem man mit Start() eine Anfangsmarke setzt ab den der Code in die Klasse soll und mit End() diesen beendet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/962671</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962671</guid><dc:creator><![CDATA[Dummie]]></dc:creator><pubDate>Tue, 10 Jan 2006 13:57:35 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen um Anfang und Ende zu definieren on Tue, 10 Jan 2006 14:01:24 GMT]]></title><description><![CDATA[<p>Du meinst, du willst etwas vor/nach der main() machen? Dann pack es doch einfach in den Konstruktor/Destruktor eines globalen Objektes:</p>
<pre><code class="language-cpp">class initializer
{
public:
  initializer()
  {
    cout&lt;&lt;&quot;Start - vor main()&quot;&lt;&lt;endl;
  }

  ~initializer()
  {
    cout&lt;&lt;&quot;Ende - nach main()&quot;&lt;&lt;endl;
  }
};

initializer init;

int main()
{
  cout&lt;&lt;&quot;in main()&quot;&lt;&lt;endl;
  return 0;
}
</code></pre>
<p>(du mußt nur aufpassen mit der Reihenfolge, in der globale Variablen initialisiert werden)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/962683</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962683</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 10 Jan 2006 14:01:24 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen um Anfang und Ende zu definieren on Tue, 10 Jan 2006 15:10:08 GMT]]></title><description><![CDATA[<p>Wozu?</p>
<p>(bei den directx funktion ist es übrigens nicht so)</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/962770</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962770</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Tue, 10 Jan 2006 15:10:08 GMT</pubDate></item></channel></rss>