www.mikrocontroller.net

Forum: Compiler & IDEs Dasselbe Objekt in mehreren Modulen verwenden


Autor: Mark .. (mork)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Wenn man z.b. diesselbe Variable in mehreren Modulen benutzen möchte, 
dann macht man es doch so:

header.h:
extern int foo;

Modul1:
#include "header.h"
int foo; 
void bla()
{
   foo=10;
}
...
Modul2:
#include "header.h"
void blo
{
   foo=20;
}
...


Was ist aber, wenn ich dasselbe mit einem Objekt haben will, der einen 
Konstruktor hat? Wenn ich das analog zum obrigen Beispiel mache, kommen 
vom Compiler lauter Fehlermeldungen.
header.h:
class Cfoo
{
   public:
   int i;
   Cfoo(int ti)//Konstruktor
   {
      i=ti;
   }
};

extern Cfoo foo(12345);
Modul1:
#include "header.h"
Cfoo foo(12345);
void bla()
{
   foo.i=10;
}
Modul2:
#include "header.h"
void blo()
{
   foo.i=20;
}

Kann mir bitte jemand helfen?

MfG Mark

Autor: Florian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
header.h auf
extern Cfoo foo;
ändern. Das ist alles.

Autor: Mark .. (mork)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke!!!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.