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