// This program illustrates the difference between declaring // variables in a class vs. in the main program. // Classes set all numeric values to 0 and all pointers to NULL // during declaration. In the main program, c-strings and numeric // values that are uninitialized will be undefined and contain garbage. // But since strings are objects, they will be set to NULL, meaning they are empty. #include using namespace std; class testclass { public: string a; // unintialized, but will be empty char b[9]; char c[]; // cannot initialize variables in class variable declaration int d; float e; int f; }; testclass tclass; int main() { string a; // unintialized, but will be empty char b[9]; // warning - unintialized and contains garbage char c[]="some text"; int d; float e; int f; cout << "tclass.a is " << tclass.a << "\ntclass.b is " << tclass.b << "\ntclass.c is " << tclass.c << "\ntclass.d is " << tclass.d << "\ntclass.e is " << tclass.e << "\ntclass.f is " << tclass.f << endl; cout << "\na is " << a << "\nb is " << b << "\nc is " << c << "\nd is " << d << "\ne is " << e << "\nf is " << f<< endl; system("pause"); }