<?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[Auf anderen Klassens Methoden zugreifen]]></title><description><![CDATA[<p>Hi! Das selbe Projekt wie noch gestern aber viel weiter:</p>
<p>Struktur:<br />
eine Main, 2 Header und zu jeder Header ein .cc File!</p>
<p>die eine Header gehört zu einer &quot;map&quot; (ein Array, auf jedem Feld sind binär Werde drauf). Nun muss ich aber, da meine Map auch eine &quot;Spielfigur&quot; hat, über meine andere Klasse &quot;agent&quot; einen Agenten draufsetzen.</p>
<p>Damit das auch alles in der echten Map verändert wird, wenn ich dort was rauslösche, mach ich das mit Pointern.</p>
<p>Der Print sollte die Map ausgeben, allerdings, wenn ich in der main dann meine setmap aufrufe, und er zu dem Punkt kommt stirbt er in der ersten For-schleife der Ausgabe. Woran liegt das? Hier die Codes:</p>
<p>der Teil in der <a href="http://Agent.cc" rel="nofollow">Agent.cc</a> sieht so aus:</p>
<pre><code class="language-cpp">void agent::setmap(karte *ka)
{
ka=k;

ka-&gt;print();
</code></pre>
<p>die Header Dazu:</p>
<pre><code class="language-cpp">#ifndef AGENT 
#define	AGENT

#include &quot;karte.h&quot;

class agent
{
	public:
	agent();
	agent(int coordx, int coordy);
	void walk();
	int shoot();
	int die();
	int smell();
	int take();
	int see();
	int feel();
	void setmap(karte *ka);

	private:
	char wohinlaufen;
	int cx;
	int cy;
	int shoots;
	int cash;
	bool zustand;
	karte *k;

};

#endif
</code></pre>
<p>Und hier ist das zugehörige Print aus der <a href="http://Karte.cc" rel="nofollow">Karte.cc</a></p>
<pre><code class="language-cpp">void karte::print()
{
	for(int i=0; i&lt;cx; i++)
	{
		for(int j=0; j&lt;cy; j++)
		{
			cout &lt;&lt;map[i][j] &lt;&lt; &quot;\t&quot;;
		}
	cout &lt;&lt; endl;
	}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/199180/auf-anderen-klassens-methoden-zugreifen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 02 Oct 2026 23:08:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/199180.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 29 Nov 2007 16:49:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Auf anderen Klassens Methoden zugreifen on Thu, 29 Nov 2007 16:49:06 GMT]]></title><description><![CDATA[<p>Hi! Das selbe Projekt wie noch gestern aber viel weiter:</p>
<p>Struktur:<br />
eine Main, 2 Header und zu jeder Header ein .cc File!</p>
<p>die eine Header gehört zu einer &quot;map&quot; (ein Array, auf jedem Feld sind binär Werde drauf). Nun muss ich aber, da meine Map auch eine &quot;Spielfigur&quot; hat, über meine andere Klasse &quot;agent&quot; einen Agenten draufsetzen.</p>
<p>Damit das auch alles in der echten Map verändert wird, wenn ich dort was rauslösche, mach ich das mit Pointern.</p>
<p>Der Print sollte die Map ausgeben, allerdings, wenn ich in der main dann meine setmap aufrufe, und er zu dem Punkt kommt stirbt er in der ersten For-schleife der Ausgabe. Woran liegt das? Hier die Codes:</p>
<p>der Teil in der <a href="http://Agent.cc" rel="nofollow">Agent.cc</a> sieht so aus:</p>
<pre><code class="language-cpp">void agent::setmap(karte *ka)
{
ka=k;

ka-&gt;print();
</code></pre>
<p>die Header Dazu:</p>
<pre><code class="language-cpp">#ifndef AGENT 
#define	AGENT

#include &quot;karte.h&quot;

class agent
{
	public:
	agent();
	agent(int coordx, int coordy);
	void walk();
	int shoot();
	int die();
	int smell();
	int take();
	int see();
	int feel();
	void setmap(karte *ka);

	private:
	char wohinlaufen;
	int cx;
	int cy;
	int shoots;
	int cash;
	bool zustand;
	karte *k;

};

#endif
</code></pre>
<p>Und hier ist das zugehörige Print aus der <a href="http://Karte.cc" rel="nofollow">Karte.cc</a></p>
<pre><code class="language-cpp">void karte::print()
{
	for(int i=0; i&lt;cx; i++)
	{
		for(int j=0; j&lt;cy; j++)
		{
			cout &lt;&lt;map[i][j] &lt;&lt; &quot;\t&quot;;
		}
	cout &lt;&lt; endl;
	}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1412444</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1412444</guid><dc:creator><![CDATA[XaTrIxX]]></dc:creator><pubDate>Thu, 29 Nov 2007 16:49:06 GMT</pubDate></item><item><title><![CDATA[Reply to Auf anderen Klassens Methoden zugreifen on Thu, 29 Nov 2007 18:30:08 GMT]]></title><description><![CDATA[<p>Wenn du in setmap die Karte setzen willst, dann solltest du die Zuweisung vertauschen:</p>
<pre><code class="language-cpp">k=ka;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1412514</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1412514</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Thu, 29 Nov 2007 18:30:08 GMT</pubDate></item></channel></rss>