<?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[Problem bei Klassenzugriff bzw deklaration]]></title><description><![CDATA[<p>Hi, ich hab n Problem bei der erstellen einer bidirektionalen Verbindung zwischen zwei Klassen. Hier mal die Header files der 2 Klassen</p>
<pre><code class="language-cpp">#if !defined(_GELDAUTOMAT_H)
#define _GELDAUTOMAT_H

#include &quot;Geldausgabe.h&quot;
#include &quot;Display.h&quot;
#include &quot;Kartenleser.h&quot;
#include &quot;Tastatur.h&quot;
#include &quot;Grafik.h&quot;
#include &lt;string.h&gt;

class Geldautomat {
public:
	Geldautomat();
	~Geldautomat();
	void wartenAufKarte();
	void gedruecktSeitentaste1();
	void gedruecktSeitentaste2();
	void gedruecktSeitentaste3();
	void gedruecktSeitentaste4();
	void gedruecktSeitentaste5();
	void gedruecktSeitentaste6();
	void gedruecktZiffer(int ziffer);
	void gedruecktBestaetigen();
	void gedruecktKorrektur();
	void gedruecktAbbruch();
private:
        int status;     
	Geldausgabe *Ausgabe;
	Display *meinDisplay;
	Kartenleser *K_leser;
	Tastatur *meineTastatur;
	Grafik *meineGrafik;	
};

#endif  //_GELDAUTOMAT_H[/code]
</code></pre>
<pre><code class="language-cpp">#if !defined(_TASTATUR_H)
#define _TASTATUR_H

#include &quot;Grafik.h&quot;
#include &quot;Display.h&quot;
#include &quot;Haupttaste.h&quot;
#include &quot;SeitenTaste.h&quot;
#include &quot;ZiffernTaste.h&quot;
#include &quot;Geldautomat.h&quot;              //Geldautomat einbinden

class Tastatur {
public:
    Tastatur(Grafik *g, Display *d), Geldautomat *gmat);
	~Tastatur();
    void ausfuehrenAktion();
	void zeichnen();
    int drueckenECKarte();
    int drueckenGeldschacht();
    void zeigeGeldauswahl();
    void zeigeProviderAusgewaehlt(int lassen);
    void zeigeAlleProvider();
    void zeigeMenueAuswahl();
    void zeigeHandygeld();
    void zeigeLeereSeitentasten();

private:
    void performAction(int n);
    Haupttaste *Haupttasten[3];
	SeitenTaste *Seitentasten[6];
	ZiffernTaste *Tastenblock[10];
	Geldautomat *ga;               //&lt;---- Findet Typ Geldautomat nicht
        Grafik *g;
	Display *meinDisplay;

};

#endif  //_TASTATUR_H
</code></pre>
<p>meine MAIN erzeugt Geldautomat, und der erzeugt sich ne Tastatur mit paar parametern. In der Tastur.h findet er aber den Typ Geldautomat nich. Ich nehm an weil ich bereits in Geldautomat.cpp die Geldautomat.h includet hab, includet er es in Tastatur.h nich mehr.</p>
<p>Weis einer rat wie Tastatur.h die Geldautomat Klasse kennt?!</p>
<p>MfG<br />
Gast0815</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/185235/problem-bei-klassenzugriff-bzw-deklaration</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 02:25:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/185235.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 22 Jun 2007 22:21:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem bei Klassenzugriff bzw deklaration on Fri, 22 Jun 2007 22:21:16 GMT]]></title><description><![CDATA[<p>Hi, ich hab n Problem bei der erstellen einer bidirektionalen Verbindung zwischen zwei Klassen. Hier mal die Header files der 2 Klassen</p>
<pre><code class="language-cpp">#if !defined(_GELDAUTOMAT_H)
#define _GELDAUTOMAT_H

#include &quot;Geldausgabe.h&quot;
#include &quot;Display.h&quot;
#include &quot;Kartenleser.h&quot;
#include &quot;Tastatur.h&quot;
#include &quot;Grafik.h&quot;
#include &lt;string.h&gt;

class Geldautomat {
public:
	Geldautomat();
	~Geldautomat();
	void wartenAufKarte();
	void gedruecktSeitentaste1();
	void gedruecktSeitentaste2();
	void gedruecktSeitentaste3();
	void gedruecktSeitentaste4();
	void gedruecktSeitentaste5();
	void gedruecktSeitentaste6();
	void gedruecktZiffer(int ziffer);
	void gedruecktBestaetigen();
	void gedruecktKorrektur();
	void gedruecktAbbruch();
private:
        int status;     
	Geldausgabe *Ausgabe;
	Display *meinDisplay;
	Kartenleser *K_leser;
	Tastatur *meineTastatur;
	Grafik *meineGrafik;	
};

#endif  //_GELDAUTOMAT_H[/code]
</code></pre>
<pre><code class="language-cpp">#if !defined(_TASTATUR_H)
#define _TASTATUR_H

#include &quot;Grafik.h&quot;
#include &quot;Display.h&quot;
#include &quot;Haupttaste.h&quot;
#include &quot;SeitenTaste.h&quot;
#include &quot;ZiffernTaste.h&quot;
#include &quot;Geldautomat.h&quot;              //Geldautomat einbinden

class Tastatur {
public:
    Tastatur(Grafik *g, Display *d), Geldautomat *gmat);
	~Tastatur();
    void ausfuehrenAktion();
	void zeichnen();
    int drueckenECKarte();
    int drueckenGeldschacht();
    void zeigeGeldauswahl();
    void zeigeProviderAusgewaehlt(int lassen);
    void zeigeAlleProvider();
    void zeigeMenueAuswahl();
    void zeigeHandygeld();
    void zeigeLeereSeitentasten();

private:
    void performAction(int n);
    Haupttaste *Haupttasten[3];
	SeitenTaste *Seitentasten[6];
	ZiffernTaste *Tastenblock[10];
	Geldautomat *ga;               //&lt;---- Findet Typ Geldautomat nicht
        Grafik *g;
	Display *meinDisplay;

};

#endif  //_TASTATUR_H
</code></pre>
<p>meine MAIN erzeugt Geldautomat, und der erzeugt sich ne Tastatur mit paar parametern. In der Tastur.h findet er aber den Typ Geldautomat nich. Ich nehm an weil ich bereits in Geldautomat.cpp die Geldautomat.h includet hab, includet er es in Tastatur.h nich mehr.</p>
<p>Weis einer rat wie Tastatur.h die Geldautomat Klasse kennt?!</p>
<p>MfG<br />
Gast0815</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1311854</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1311854</guid><dc:creator><![CDATA[Gast0815]]></dc:creator><pubDate>Fri, 22 Jun 2007 22:21:16 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Klassenzugriff bzw deklaration on Sat, 23 Jun 2007 07:56:47 GMT]]></title><description><![CDATA[<p>Du kannst nicht zwei Header sich gegenseitig inkludieren lassen.</p>
<p>Als Workaround solltest du dafür sorgen, dass z. B. nur die Deklaration von Geldautomat in tastatur.h benötigt wird (was ja schon der Fall ist) und dann anstatt geldautomat.h zu inkludieren, eine Vorwärtsdeklaration von Geldautomat zu machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1311919</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1311919</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Sat, 23 Jun 2007 07:56:47 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Klassenzugriff bzw deklaration on Sat, 23 Jun 2007 10:44:25 GMT]]></title><description><![CDATA[<p>Michael E. schrieb:</p>
<blockquote>
<p>Du kannst nicht zwei Header sich gegenseitig inkludieren lassen.</p>
<p>Als Workaround solltest du dafür sorgen, dass z. B. nur die Deklaration von Geldautomat in tastatur.h benötigt wird (was ja schon der Fall ist) und dann anstatt geldautomat.h zu inkludieren, eine Vorwärtsdeklaration von Geldautomat zu machen.</p>
</blockquote>
<p>ähm... kannste des genauer erklären?...<br />
ich ab mal in Tastatur.h statt #include &quot;Geldautomat.h&quot; einfach class Geldautomat gemacht. klappt soweit, er findet den Typ, aber das is ja dann sozusagen ne <strong>andere</strong> Klasse &quot;Geldautomat&quot;...<br />
Hatte aber dann im Tastatur Konstrukto probleme die referenz zum richtigen Geldautomat dem *ga zuzuweisen...<br />
Ist das so wie du es gemeint hast mit dem &quot;Vorwärtsdeklaration&quot; ?!<br />
Könntest mir vllt die code zeilen für die richtige zuweisung sagen?</p>
<p>ich habs mit dem versucht:</p>
<p>im Geldautomat.cpp</p>
<pre><code class="language-cpp">meineTastatur=new Tastatur(meineGrafik, meinDisplay, this);
</code></pre>
<p>und im Tastatur.cpp Konstruktor dann:<br />
ga=geldmat;</p>
<p>dann konnt ich aber trotzdem nich mit ga-&gt;gedruecktSeitentaste1(); zugreifen weil der mir sagt, dass ich:</p>
<pre><code class="language-cpp">in Tastatur.cpp: invalid use of undefined type `struct Geldautomat'
</code></pre>
<p>und in Tastatur.h die zeile <strong>class Geldautomat</strong>;<br />
10 D:\PRIVAT\PRIVATE\Igor\Studium\3. Semester\Fahrzeugsensorik\Geldautomat</p>
<pre><code class="language-cpp">forward declaration of `struct Geldautomat'
</code></pre>
<p>Help plz <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1312031</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1312031</guid><dc:creator><![CDATA[Gast0815]]></dc:creator><pubDate>Sat, 23 Jun 2007 10:44:25 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Klassenzugriff bzw deklaration on Sat, 23 Jun 2007 10:52:20 GMT]]></title><description><![CDATA[<p>Du musst in Tastatur.cpp natürlich noch den Header für Geldautomat einbinden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1312039</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1312039</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Sat, 23 Jun 2007 10:52:20 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Klassenzugriff bzw deklaration on Sat, 23 Jun 2007 11:05:18 GMT]]></title><description><![CDATA[<p>finix schrieb:</p>
<blockquote>
<p>Du musst in Tastatur.cpp natürlich noch den Header für Geldautomat einbinden.</p>
</blockquote>
<p>ouuu man... genau da dran hat's gelegen.. Daaaaankeeeee diiiiiiiiiir.. läuft jetz alles... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1312046</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1312046</guid><dc:creator><![CDATA[Gast0815]]></dc:creator><pubDate>Sat, 23 Jun 2007 11:05:18 GMT</pubDate></item></channel></rss>