<?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[Pointer auf die Methode einer Instanz]]></title><description><![CDATA[<p>Hallo,<br />
ich suche nun schon seid Tagen nach einer Möglichkeit mittels eines Zeigers auf eine Methode eines konkreten Objektes zu zugreifen.<br />
zum Thema Funktionspointer findet man zwar ne ganze Menge, aber das hat mir alles nicht weiter geholfen. Mein Problem ist halt, dass ich die Methode nicht auf static setzen kann, da in ihr Objektspezifische Sachen gemacht werden.</p>
<p>Hier mal ein kleines Beispiel</p>
<pre><code class="language-cpp">class test1
{
private:
	int a;
public:
	void bla()
	{
	// verändere a irgentwie
	// z.b.
		a++;

	}
};

class test2:public test1
{
public:
	void func()
	{
		bla();
	}
};

int main()
{
	test2* t=new test2();
	void (*function)();	

	//hier tritt nun das Problem auf
	function=&amp;t-&gt;func;
	return 0;
}
</code></pre>
<p>wenn irgend jemand ne Idee hat wie ich das Problem lösen kann, wäre ich sehr dankbar. Bitte helft mir! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/121430/pointer-auf-die-methode-einer-instanz</link><generator>RSS for Node</generator><lastBuildDate>Sat, 22 Aug 2026 17:36:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/121430.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 23 Sep 2005 10:26:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Pointer auf die Methode einer Instanz on Fri, 23 Sep 2005 10:26:57 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich suche nun schon seid Tagen nach einer Möglichkeit mittels eines Zeigers auf eine Methode eines konkreten Objektes zu zugreifen.<br />
zum Thema Funktionspointer findet man zwar ne ganze Menge, aber das hat mir alles nicht weiter geholfen. Mein Problem ist halt, dass ich die Methode nicht auf static setzen kann, da in ihr Objektspezifische Sachen gemacht werden.</p>
<p>Hier mal ein kleines Beispiel</p>
<pre><code class="language-cpp">class test1
{
private:
	int a;
public:
	void bla()
	{
	// verändere a irgentwie
	// z.b.
		a++;

	}
};

class test2:public test1
{
public:
	void func()
	{
		bla();
	}
};

int main()
{
	test2* t=new test2();
	void (*function)();	

	//hier tritt nun das Problem auf
	function=&amp;t-&gt;func;
	return 0;
}
</code></pre>
<p>wenn irgend jemand ne Idee hat wie ich das Problem lösen kann, wäre ich sehr dankbar. Bitte helft mir! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/878447</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/878447</guid><dc:creator><![CDATA[tyr377]]></dc:creator><pubDate>Fri, 23 Sep 2005 10:26:57 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer auf die Methode einer Instanz on Fri, 23 Sep 2005 10:31:03 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void (test2::*function)();
function=&amp;test2::func;
</code></pre>
<p>aufrufen musst du die methode aber immer mithilfe eines objektes!</p>
<pre><code class="language-cpp">t-&gt;*function();//man beachte den *
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/878450</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/878450</guid><dc:creator><![CDATA[otze]]></dc:creator><pubDate>Fri, 23 Sep 2005 10:31:03 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer auf die Methode einer Instanz on Fri, 23 Sep 2005 10:53:32 GMT]]></title><description><![CDATA[<p>Klasse, danke für die promte Anwort.</p>
<p>Die übergabe des Zeigers scheint zu funzen, aber der aufruf über das Objekt macht noch Problem.</p>
<pre><code class="language-cpp">t-&gt;*function();
</code></pre>
<p>da haut mein g++ folgendes raus:</p>
<p>test2.cpp:31: error: must use .* or -&gt;* to call pointer-to-member function in `function (...)'</p>
<p>komisch und ich dacht ich hätte das damit getan. hm, what ever.<br />
Das ist aber nicht so wichtig. Viel wichtiger ist, dass ich dummer weise die Anweisung in die Form</p>
<pre><code class="language-cpp">void (*function)();
</code></pre>
<p>bekomme muss. Der Hintergrund ist der, dass ich unter Linux ein Signalevent abfangen will, und der will den Funktionszeiger so haben.</p>
<p>Hast du da ne Idee?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/878466</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/878466</guid><dc:creator><![CDATA[tyr377]]></dc:creator><pubDate>Fri, 23 Sep 2005 10:53:32 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer auf die Methode einer Instanz on Fri, 23 Sep 2005 11:00:01 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">(t-&gt;*function)(); // Klammerung wichtig
</code></pre>
<p>Ähm... wenn Du einen Funktionszeiger haben willst, kannst Du damit aber keine Methode aufrufen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/878469</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/878469</guid><dc:creator><![CDATA[7H3 N4C3R]]></dc:creator><pubDate>Fri, 23 Sep 2005 11:00:01 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer auf die Methode einer Instanz on Fri, 23 Sep 2005 11:16:15 GMT]]></title><description><![CDATA[<p>schau mal in die FAQ.<br />
Da steht wie das mit Methodenpointern geht...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/878494</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/878494</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Fri, 23 Sep 2005 11:16:15 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer auf die Methode einer Instanz on Sat, 24 Sep 2005 18:12:04 GMT]]></title><description><![CDATA[<p>Danke für eure Resonanz!</p>
<p>Ich hab zwar nun ne Lösung meines kleinen Problems, aber so richtig gefällt mir das nicht, weil es irgendwie von hinten durch die Brust ins Auge geht. Meine Lösung arbeitet zum einen als seperater Thread und zwei C-Funktionen, und alles nur um einen Timer mit Eventmanagment zu erzeugen.<br />
Ich werde mal in der Linux-Sparte posten, ob es nicht ne direkte und vor allem saubere Möglichkeit eines Timers gibt.</p>
<p>Trotzdem danke für Eure hilfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/879263</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/879263</guid><dc:creator><![CDATA[tyr377]]></dc:creator><pubDate>Sat, 24 Sep 2005 18:12:04 GMT</pubDate></item></channel></rss>