Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » eine structur mit structur füllen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
06.04.2005, 20:41 Uhr
~oli_023
Gast


Hallo, ich hab da folgendes kleine Programm
In dem ich in der header datei in einer klasse ein structur anlege
Und in der main datei füllen will…

Leg ich ein konstructor an und füll die Structur kommt keine fehler meldung des Kompilers aber so kommt eine siehe unten hab die Fehlermeldung hingeschrieben…
Weiss jemand warum ich die structur so nicht füllen kann?????
Was mach ich falsch wie kann ich die structur mit einer structur in der main datei füllen????

Danke für eure hilfe

Oli


C++:
//header datei
#ifndef _test
#define _test

class test
{
  public:

  struct hallo  //structur anlegen
  {
    int a;
    int b;
  };
  
  hallo bb;
};


#endif
////////////////////////////////////////////////////////////////////////////////main datei

#include <iostream>
#include "test.h"
using namespace std;

int main()
{
   struct hallo bb=  //structur füllen
  {
      2,3
   };

  cout << bb.a <<endl;
  cout << bb.a <<endl;

}




Code:
// test.cc: In function `int main()':
//test.cc:12: error: variable `hallo bb'
//has initializerbut incomplete type



mod edit (Pablo)
Benutze die Board tags selber!

Dieser Post wurde am 06.04.2005 um 20:52 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
06.04.2005, 22:57 Uhr
Frodenius



wieso ist denn da eine struct in der klasse???
um zwei variablen einer klasse auszugeben würd ich das so machen:

C++:
// header test.hpp
#ifndef _test
#define _test

class Test
{
    public:
        Test(int a1, int b1): a(a1), b(b1) {} // konstruktor mit initialisierung
        ~Test(){} // destruktor tut nichts
        
        // zugriffsfunktionen
        int getA() { return a; }
        void setA(int a1) { a = a1; }
        
        int getB() { return b; }
        void setB(int b1) { b = b1; }
    private:
        int a;
        int b;
};    
#endif


// Programm main.cpp
#include <iostream>
#include "test.hpp"

int main()
{
    Test hallo(2,3);
    
    std::cout << hallo.getA() << std::endl;
    std::cout << hallo.getB() << std::endl;      
    return 0;
}



aber wenn du eine klasse in der klasse haben willst, dann musst du die 2.klasse außerhaöb definieren:


C++:
// header test.hpp
#ifndef _test
#define _test

class Schluckauf
{
    public:
        Schluckauf(int ia, int ib): a(ia), b(ib) {}
        ~Schluckauf()
        
        int getA() {return a;}
        void setA(int ia) {a = ia;}
        
        int getB() {return b;}
        void setB(int ib) {b = ib}
    
    private:
        int a;
        int b;
};

class Test
{
    public:
        Test(int a1, int b1): meinSchluckauf(a1, b1) {} // konstruktor mit initialisierung
        ~Test(){} // destruktor tut nichts
        
        // zugriffsfunktionen
        int getA() { return meinSchluckauf.getA(); }
        void setA(int a1) { meinSchluckauf.setA(a1) }
        
        int getB() { return meinSchluckauf.getB(); }
        void setB(int b1) { meinSchluckauf.setB(b1); }
    
    private:
        Schluckauf meinSchluckauf;
};

#endif

//////////// main.cpp wird nicht geändert!!



tolle sache sowas...nich??
--
NI! ...and thanks for all the fish!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
07.04.2005, 07:11 Uhr
Tommix



Hallo,
da hallo in Test deklariert ist, mußt Du mittels

C++:
int main()
{
  struct test::hallo bb=  //structur füllen
  {
  ...


darauf zugreifen.
Gruß, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: