<?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[Interface mit einer Methode aber verschiedenen Parameter]]></title><description><![CDATA[<p>Hi,<br />
hier das Beispiel in mehr oder weniger Pseudocode:</p>
<p>Ich habe ein Interface <strong>IModule</strong>:</p>
<pre><code>class IModule{
public:
 virtual void setParameter(/*parameter*/) = 0;
 virtual /*parameter*/ getParameter() = 0;
}
</code></pre>
<p>Jetzt habe ich zwei Klassen die von <strong>IModule</strong> erben sollen.<br />
Hier die erste Klasse <strong>MyRect</strong>:</p>
<pre><code>class MyRect : IModule{
public:
void setParameter(Rect rect);
Rect getParameter();
}
</code></pre>
<p>Und die zweite Klasse <strong>MyPoint</strong></p>
<pre><code>class MyPoint : IModule{
public:
void setParameter(Point p);
Point getParameter();
}
</code></pre>
<p>So wird das ganze jetzt natürlich nicht funktionieren weil im Interface die Methoden festgelegt werden müssen. Und das ist auch der Punkt an dem ich hänge.</p>
<p>Ich bräuchte im Interface etwa so etwas:</p>
<pre><code>class IModule{
public:
 virtual void setParameter(Parameter para) = 0; //eine Basisklasse Parameter
 virtual Parameter getParameter() = 0;//eine Basisklasse Parameter
}
</code></pre>
<p>Benutzen möchte ich das ganze so:</p>
<pre><code>IModule modulA = new MyRect();
IModule modulB = new MyPoint();

Parameter p1 = new RectParameter();
Parameter p2 = new PointParameter();

modulA.setParameter(p1);
modulB.setParameter(p2);
</code></pre>
<p>Jemand ne Idee wie man sowas löst? Gibts irgendein <strong>Design Pattern</strong> das genau das behandelt?<br />
Templates habe ich versucht, komme aber zu keinem grünen Zweig.</p>
<p>Bin für jeden Tipp dankbar!!</p>
<p>Grüße<br />
Denis</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/317713/interface-mit-einer-methode-aber-verschiedenen-parameter</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Jul 2026 14:21:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/317713.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 18 Jun 2013 15:07:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Interface mit einer Methode aber verschiedenen Parameter on Tue, 18 Jun 2013 15:07:01 GMT]]></title><description><![CDATA[<p>Hi,<br />
hier das Beispiel in mehr oder weniger Pseudocode:</p>
<p>Ich habe ein Interface <strong>IModule</strong>:</p>
<pre><code>class IModule{
public:
 virtual void setParameter(/*parameter*/) = 0;
 virtual /*parameter*/ getParameter() = 0;
}
</code></pre>
<p>Jetzt habe ich zwei Klassen die von <strong>IModule</strong> erben sollen.<br />
Hier die erste Klasse <strong>MyRect</strong>:</p>
<pre><code>class MyRect : IModule{
public:
void setParameter(Rect rect);
Rect getParameter();
}
</code></pre>
<p>Und die zweite Klasse <strong>MyPoint</strong></p>
<pre><code>class MyPoint : IModule{
public:
void setParameter(Point p);
Point getParameter();
}
</code></pre>
<p>So wird das ganze jetzt natürlich nicht funktionieren weil im Interface die Methoden festgelegt werden müssen. Und das ist auch der Punkt an dem ich hänge.</p>
<p>Ich bräuchte im Interface etwa so etwas:</p>
<pre><code>class IModule{
public:
 virtual void setParameter(Parameter para) = 0; //eine Basisklasse Parameter
 virtual Parameter getParameter() = 0;//eine Basisklasse Parameter
}
</code></pre>
<p>Benutzen möchte ich das ganze so:</p>
<pre><code>IModule modulA = new MyRect();
IModule modulB = new MyPoint();

Parameter p1 = new RectParameter();
Parameter p2 = new PointParameter();

modulA.setParameter(p1);
modulB.setParameter(p2);
</code></pre>
<p>Jemand ne Idee wie man sowas löst? Gibts irgendein <strong>Design Pattern</strong> das genau das behandelt?<br />
Templates habe ich versucht, komme aber zu keinem grünen Zweig.</p>
<p>Bin für jeden Tipp dankbar!!</p>
<p>Grüße<br />
Denis</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2332189</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2332189</guid><dc:creator><![CDATA[sayezz]]></dc:creator><pubDate>Tue, 18 Jun 2013 15:07:01 GMT</pubDate></item><item><title><![CDATA[Reply to Interface mit einer Methode aber verschiedenen Parameter on Tue, 18 Jun 2013 15:11:27 GMT]]></title><description><![CDATA[<p>void*</p>
<p>PS: Sieht aber eher so als ob du ein Framework entwickelst. Als Rat: Entwickle keine Frameworks.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2332191</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2332191</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Tue, 18 Jun 2013 15:11:27 GMT</pubDate></item><item><title><![CDATA[Reply to Interface mit einer Methode aber verschiedenen Parameter on Tue, 18 Jun 2013 15:12:08 GMT]]></title><description><![CDATA[<p>Welche Sprache soll das sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2332192</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2332192</guid><dc:creator><![CDATA[native]]></dc:creator><pubDate>Tue, 18 Jun 2013 15:12:08 GMT</pubDate></item><item><title><![CDATA[Reply to Interface mit einer Methode aber verschiedenen Parameter on Tue, 18 Jun 2013 15:27:14 GMT]]></title><description><![CDATA[<p>void* möchte ich gerne vermeiden <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>Sprache soll c++ sein.</p>
<p>Es soll kein Framework werden, aber es hat ähnlichlkeiten das stimmt.<br />
Hier ein Beispiel, vielleicht Hilft es:</p>
<p>Thema: Bildverarbeitung.<br />
Aufgabe: Fahrzeug erkennung.</p>
<p>Das ganze soll Modulbasiert aufgezogen werden</p>
<p>Input-&gt; Vorverarbeitung -&gt; Masking -&gt; ROI Generierung -&gt; Detection -&gt; Output</p>
<p>Damit jedes Modul ähnlich ist und man jedes Modul mit jedem verknüpfen kann erbt jedes Modul von IModul. Soweit sogut.<br />
Nur ist es jetzt so das die Module verschiedene Eingangsparameter brauchen. Es kann z.B. ein Bild sein, oder nur ein Pointoder eben ein Rect.</p>
<p>Danke</p>
<p>Grüße<br />
Denis</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2332201</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2332201</guid><dc:creator><![CDATA[sayezz]]></dc:creator><pubDate>Tue, 18 Jun 2013 15:27:14 GMT</pubDate></item><item><title><![CDATA[Reply to Interface mit einer Methode aber verschiedenen Parameter on Tue, 18 Jun 2013 15:36:31 GMT]]></title><description><![CDATA[<p>Benutzt man nicht genau dafür Templates?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2332203</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2332203</guid><dc:creator><![CDATA[theliquidwave]]></dc:creator><pubDate>Tue, 18 Jun 2013 15:36:31 GMT</pubDate></item><item><title><![CDATA[Reply to Interface mit einer Methode aber verschiedenen Parameter on Tue, 18 Jun 2013 15:42:32 GMT]]></title><description><![CDATA[<p>Funktioniert nicht, da jeder Schritt in der Pipeline sehr verschieden von allen anderen ist. Sowohl in den Voraussetzungen als auch in den angeschlossenen Modulen. Habe lange ueber aehnliches nachgedacht, kam aber zu dem Schluss ... lohnt nicht. Weitere Probleme kann es geben, wenn Funktionen der IPP oder OpenCV integriert werden sollen.</p>
<blockquote>
<p>Es soll kein Framework werden</p>
</blockquote>
<p>Doch, genau das ist es.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2332205</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2332205</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Tue, 18 Jun 2013 15:42:32 GMT</pubDate></item><item><title><![CDATA[Reply to Interface mit einer Methode aber verschiedenen Parameter on Tue, 18 Jun 2013 15:46:59 GMT]]></title><description><![CDATA[<p>sayezz schrieb:</p>
<blockquote>
<p>Jetzt habe ich zwei Klassen die von <strong>IModule</strong> erben sollen.</p>
</blockquote>
<p>Da liegt dein Denkfehler, die beiden Klassen haben offensichtlich eben doch nicht das selbe Interface und damit gibt es keinen Grund, aus dem sie von der selben Basis erben sollten...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2332211</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2332211</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Tue, 18 Jun 2013 15:46:59 GMT</pubDate></item></channel></rss>