<?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[Objekte der selben Klasse mit verschiedenen Funktionen]]></title><description><![CDATA[<p>Hallo zusammen,<br />
Ist es möglich, dass mehrere Objekte der selben Klasse unterschiedliche Funktionen haben, also man die Funktionen als Variable o.ä. speichern?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/271196/objekte-der-selben-klasse-mit-verschiedenen-funktionen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 15:54:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/271196.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 24 Jul 2010 15:42:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Objekte der selben Klasse mit verschiedenen Funktionen on Sat, 24 Jul 2010 15:42:29 GMT]]></title><description><![CDATA[<p>Hallo zusammen,<br />
Ist es möglich, dass mehrere Objekte der selben Klasse unterschiedliche Funktionen haben, also man die Funktionen als Variable o.ä. speichern?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1931070</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931070</guid><dc:creator><![CDATA[jonnybx]]></dc:creator><pubDate>Sat, 24 Jul 2010 15:42:29 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte der selben Klasse mit verschiedenen Funktionen on Sat, 24 Jul 2010 16:02:55 GMT]]></title><description><![CDATA[<p>Vielleicht suchst du nach Funktionszeigern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1931074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931074</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Sat, 24 Jul 2010 16:02:55 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte der selben Klasse mit verschiedenen Funktionen on Sat, 24 Jul 2010 16:03:59 GMT]]></title><description><![CDATA[<p>Oder Polymorphie.</p>
<p>Was willst du machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1931076</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931076</guid><dc:creator><![CDATA[blizzz]]></dc:creator><pubDate>Sat, 24 Jul 2010 16:03:59 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte der selben Klasse mit verschiedenen Funktionen on Sat, 24 Jul 2010 16:06:03 GMT]]></title><description><![CDATA[<p>es soll ein kleines programm werden, in dem mehrere optionen zur verfügung sein sollen, zwei videos überzublenden, allerdings würde ich gerne nur eine klasse fades und dann die methode dazu als variable, datei, ... speichern</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1931078</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931078</guid><dc:creator><![CDATA[jonnybx]]></dc:creator><pubDate>Sat, 24 Jul 2010 16:06:03 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte der selben Klasse mit verschiedenen Funktionen on Sat, 24 Jul 2010 16:08:55 GMT]]></title><description><![CDATA[<p>jonnybx schrieb:</p>
<blockquote>
<p>es soll ein kleines programm werden, in dem mehrere optionen zur verfügung sein sollen, zwei videos überzublenden, allerdings würde ich gerne nur eine klasse fades und dann die methode dazu als variable, datei, ... speichern</p>
</blockquote>
<p>Funktionszeiger.<br />
Außer, die mehreren Optionen haben Optionsspezifische Einstellungen. Die müßten dann in eine Klasse rein, also gleich Polymorphie.<br />
Außer, es ist so einfach, daß switch doch besser ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1931080</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931080</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 24 Jul 2010 16:08:55 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte der selben Klasse mit verschiedenen Funktionen on Sat, 24 Jul 2010 16:11:34 GMT]]></title><description><![CDATA[<p>Du könntest mit Funktionszeigern arbeiten.</p>
<p>Das läuft aber darauf hinaus, dass du eine freie Funktion hast, welche als ersten Parameter einen Zeiger auf das gegebene Objekt nimmt.<br />
Was dich dann wieder dahin bringt, dass du die Funktion auch einfach als Memeberfunktion implementieren hättest können.</p>
<p>Wenn du nur unterschiedliches Verhalten für verschiedene Instanzen haben willst, aber trotzdem eine einheitliche Schnittstelle, dann gibt es dazu Polymorphie.</p>
<p>Es wäre wahrscheinlich besser den Grund für dein verlangen für so ein Verhalten zu erfahren, dann können wir sicher besser helfen. <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>
<p>//EDIT:<br />
Das passiert, wenn man einen Post schreibt, weitercodet und dann merkt, dass man den Beitrag noch nicht gesendet hat und nicht nachschaut, ob wer was geschrieben hat und sendet. <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="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1931083</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931083</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 24 Jul 2010 16:11:34 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte der selben Klasse mit verschiedenen Funktionen on Sat, 24 Jul 2010 16:33:15 GMT]]></title><description><![CDATA[<p>Für mich klingt das so, als sei es am besten mit der <a href="https://secure.wikimedia.org/wikipedia/de/wiki/Strategie_%28Entwurfsmuster%29" rel="nofollow">Strategy Pattern</a> zu lösen. Am besten mit std::tr1::function, dann kann man da neben Funktionszeigern auch Funktionsobjekte reinwerfen, die einen Zustand haben. Dann muss man optionsspezifische Einstellungen auch nicht mehr in der Frontend-Klasse verwalten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1931089</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931089</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Sat, 24 Jul 2010 16:33:15 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte der selben Klasse mit verschiedenen Funktionen on Sat, 24 Jul 2010 16:36:27 GMT]]></title><description><![CDATA[<p>Ich würds so machen:</p>
<pre><code class="language-cpp">template &lt;typename OptionFkt&gt;
class Fades
{
public:
  fades(OptionFkt option) : option(option) {}
  // ...

  void doFade()
  {
    option(...);
  }
private:
  OptionFkt option;
  // ...
};

struct my_option_1
{
  void operator()(...)
  {
    // Method implementation for option 1
  }
};

struct my_option_2
{
  void operator()(...)
  {
    // Method implementation for option 2
  }
};

int main()
{
  // ...
  Fades fades(my_option_1()); // Create fader with option 1
  // ...
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1931090</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931090</guid><dc:creator><![CDATA[Max3000]]></dc:creator><pubDate>Sat, 24 Jul 2010 16:36:27 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte der selben Klasse mit verschiedenen Funktionen on Sat, 24 Jul 2010 16:40:20 GMT]]></title><description><![CDATA[<p>Max3000 schrieb:</p>
<blockquote>
<p>Ich würds so machen:</p>
<pre><code class="language-cpp">template &lt;typename OptionFkt&gt;
class Fades
{
public:
  fades(OptionFkt option) : option(option) {}
  // ...

  void doFade()
  {
    option(...);
  }
private:
  OptionFkt option;
  // ...
};

struct my_option_1
{
  void operator()(...)
  {
    // Method implementation for option 1
  }
};

struct my_option_2
{
  void operator()(...)
  {
    // Method implementation for option 2
  }
};

int main()
{
  // ...
  Fades fades(my_option_1()); // Create fader with option 1
  // ...
}
</code></pre>
</blockquote>
<p>Ich würde Fades nicht zum Template machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1931091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931091</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 24 Jul 2010 16:40:20 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte der selben Klasse mit verschiedenen Funktionen on Sat, 24 Jul 2010 17:29:00 GMT]]></title><description><![CDATA[<p>also, um das klarzustellen.<br />
Es soll ein kleines videoschnitt-programm werden, mit dem ich zwei videos überblenden will. Dazu soll es mehrere arten geben, wobei ich bei der sauswahl der art nur ein objekt für jede art haben will, nicht eine klasse<br />
(statt den Klassen Blende1, Blende2, Blende3 die Objekte Blende1, Blende2, ...)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1931108</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931108</guid><dc:creator><![CDATA[jonnybx]]></dc:creator><pubDate>Sat, 24 Jul 2010 17:29:00 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte der selben Klasse mit verschiedenen Funktionen on Sat, 24 Jul 2010 17:37:58 GMT]]></title><description><![CDATA[<p>jonnybx schrieb:</p>
<blockquote>
<p>also, um das klarzustellen.<br />
Es soll ein kleines videoschnitt-programm werden, mit dem ich zwei videos überblenden will. Dazu soll es mehrere arten geben, wobei ich bei der sauswahl der art nur ein objekt für jede art haben will, nicht eine klasse<br />
(statt den Klassen Blende1, Blende2, Blende3 die Objekte Blende1, Blende2, ...)</p>
</blockquote>
<p>Dann nimm einfach enum und switch. Mach erstmal das Projekt fertig. Aber lies dann auch ein wenig Bäckmann oopfd und Meyer mecp.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1931112</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931112</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 24 Jul 2010 17:37:58 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte der selben Klasse mit verschiedenen Funktionen on Sat, 24 Jul 2010 18:21:32 GMT]]></title><description><![CDATA[<p>Hast du ja mit der oben genannten Lösung.<br />
Da heißt die Klasse Fader und da gibt fader1 mit my_option_1 im Konstruktor übergeben, fader2 mit my_option_2 und so weiter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1931123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1931123</guid><dc:creator><![CDATA[Max3000]]></dc:creator><pubDate>Sat, 24 Jul 2010 18:21:32 GMT</pubDate></item></channel></rss>