<?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[Referenz 2er Klassen aufeinander mit Functioncalls ( Visual C++ als IDE)]]></title><description><![CDATA[<p>Hallo , ich brauche 2 Klassen die miteinander verbunden sind und die sich gegenseitig Funktionen aufrufen müssen.<br />
Die eine Richtung ( mb -&gt; ma ) ist kein Problem aber wenn ich aus der Class ma<br />
die Klasse mb Triggern möchte bekomme ich immer den Fehler :Verwendung des undefinierten Typs &quot;Typ&quot;</p>
<p>Eigentlich will ich nur eine Möglichkeit haben, das sich zwei Klassen kennen und gegenseitig aufrufen können.</p>
<p>Hier der Code:</p>
<pre><code>////////////////////////////////////////////////////////////////////////////
// Forward Deklaration
class mb;

class ma
{
	friend class mb;
public:
	ma();
	int ausgabe;
	int mein(void);
	int Callb(void);
	void SetParent(mb *aptrb);
protected:
	mb *_ptrb;
};
int ma::Callb()
{
	int	lreturn = 0;
    mb *lptr = _ptrb;
	//lreturn =  lptr-&gt;richtig();            
	//lreturn =  (*lptr).richtig();    &lt;-- Fehler: Hier geht das nicht
	return lreturn;
}
void ma::SetParent(mb *aptrb)
{
	_ptrb = aptrb;
}
ma::ma()
{
	int a = 2;
}
int ma::mein()
{
	return ausgabe;
}
////////////////////////////////////////////////////////////////////////////
class mb
{
public:
	mb();
	~mb();
	void tuewas(void);
	int richtig(void);
	void SetParent(ma *aptra);
protected:
	ma *ptra;
};
int mb::richtig()
{
	return 500;
}
void mb::SetParent(ma *aptra)
{
	ptra = aptra;
}
mb::mb()
{
	int a = 2;
}
mb::~mb()
{
	int b = 2;
}
void mb::tuewas()
{
	int a = 2;
	// A aufrufen
	ma  *p = ptra;
	if ( p != 0 ) 
	{
		a = p-&gt;mein();
		a = a + 3;
		p-&gt;Callb();

	}
}
////////////////////////////////////////////////////////////////////////////
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/119543/referenz-2er-klassen-aufeinander-mit-functioncalls-visual-c-als-ide</link><generator>RSS for Node</generator><lastBuildDate>Sat, 22 Aug 2026 00:18:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/119543.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 02 Sep 2005 07:15:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Referenz 2er Klassen aufeinander mit Functioncalls ( Visual C++ als IDE) on Fri, 02 Sep 2005 07:15:37 GMT]]></title><description><![CDATA[<p>Hallo , ich brauche 2 Klassen die miteinander verbunden sind und die sich gegenseitig Funktionen aufrufen müssen.<br />
Die eine Richtung ( mb -&gt; ma ) ist kein Problem aber wenn ich aus der Class ma<br />
die Klasse mb Triggern möchte bekomme ich immer den Fehler :Verwendung des undefinierten Typs &quot;Typ&quot;</p>
<p>Eigentlich will ich nur eine Möglichkeit haben, das sich zwei Klassen kennen und gegenseitig aufrufen können.</p>
<p>Hier der Code:</p>
<pre><code>////////////////////////////////////////////////////////////////////////////
// Forward Deklaration
class mb;

class ma
{
	friend class mb;
public:
	ma();
	int ausgabe;
	int mein(void);
	int Callb(void);
	void SetParent(mb *aptrb);
protected:
	mb *_ptrb;
};
int ma::Callb()
{
	int	lreturn = 0;
    mb *lptr = _ptrb;
	//lreturn =  lptr-&gt;richtig();            
	//lreturn =  (*lptr).richtig();    &lt;-- Fehler: Hier geht das nicht
	return lreturn;
}
void ma::SetParent(mb *aptrb)
{
	_ptrb = aptrb;
}
ma::ma()
{
	int a = 2;
}
int ma::mein()
{
	return ausgabe;
}
////////////////////////////////////////////////////////////////////////////
class mb
{
public:
	mb();
	~mb();
	void tuewas(void);
	int richtig(void);
	void SetParent(ma *aptra);
protected:
	ma *ptra;
};
int mb::richtig()
{
	return 500;
}
void mb::SetParent(ma *aptra)
{
	ptra = aptra;
}
mb::mb()
{
	int a = 2;
}
mb::~mb()
{
	int b = 2;
}
void mb::tuewas()
{
	int a = 2;
	// A aufrufen
	ma  *p = ptra;
	if ( p != 0 ) 
	{
		a = p-&gt;mein();
		a = a + 3;
		p-&gt;Callb();

	}
}
////////////////////////////////////////////////////////////////////////////
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/863349</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/863349</guid><dc:creator><![CDATA[Fehma]]></dc:creator><pubDate>Fri, 02 Sep 2005 07:15:37 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz 2er Klassen aufeinander mit Functioncalls ( Visual C++ als IDE) on Fri, 02 Sep 2005 08:57:14 GMT]]></title><description><![CDATA[<p>Hallo,<br />
Wenn du aus der Klasse ma auf geschütztde oder private Elemente von mb zugreifen möchtest solltest du auch ma in mb als friend deklarieren...</p>
<p>Caipi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/863421</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/863421</guid><dc:creator><![CDATA[Caipi]]></dc:creator><pubDate>Fri, 02 Sep 2005 08:57:14 GMT</pubDate></item></channel></rss>