problem mit static in klassen



  • #include <stdio.h>
    #include <string.h>
    #include <conio.h>
    #include <iostream.h>
    //----------- Klasse ----------------------------
    class myclass {
      private:
        char name[20];
        int id;
        static int tzs;
      public:
        myclass(char kname[20], int kid);
        void showinfo();
    };
    
    myclass::myclass(char kname[20], int kid) {
      strcpy(name,kname);
      id = kid;
      tzs=5;
    }
    
    void myclass::showinfo() {
      cout << name << " _ " << id << " _ " << tzs << endl;
    }
    
    //---------------- Main ---------------------------
    void main()
    {
      myclass test1("test1",5);
      myclass test2("test2",10);
    
      test1.showinfo();
      test2.showinfo();
    
      getch();
    
    }
    

    EditBySideWinder: Code-Tags benützen!

    [ Dieser Beitrag wurde am 21.08.2002 um 12:31 Uhr von SideWinder editiert. ]



  • Wäre es noch denkbar uns mitzuteilen, was Dein Problem ist?



  • Was ist das Problem, genauere Problembeschreibung bitte! 😉



  • ups muss ich wohl beim einfügen überkopiert habe *dadada*.
    Also wenn ich die statische variable ausgeben möchte, dann meckert er, er kompiliert es, aber er linkt es nicht und dann sacht er:

    [Linker Error] Unresolved external 'myclass::tzs' referenced from C:\PROGRAMME\BORLAND\CBUILDER6\PROJECTS\UNIT1.OBJ



  • Also außerhalb der Klasse noch Speicherplatz reservieren:
    int myclass::tzs=0;
    oder so.



  • nö geht nicht wirklich


Anmelden zum Antworten