对象的成员变量初始值:
全局空间中类成员初始化为零
栈空间中类成员初始化为不确定值
堆空间中类成员初始化为零
#include <stdio.h> class Test // 类在C语言中代表一个新的类型,类可以在全局存储区,堆区,栈区申请变量。 { private: int i; int j; public: int getI() { return i; } int getJ() { return j; } }; Test gt; int main() { printf("gt.i = %d ", gt.getI()); // 全局空间和static修饰局部对象中类成员初始化为零 printf("gt.j = %d ", gt.getJ()); Test t1; printf("t1.i = %d ", t1.getI()); // 栈空间中类成员初始化为随机值 printf("t1.j = %d ", t1.getJ()); Test* pt = new Test; printf("pt->i = %d ", pt->getI()); // 堆空间中类成员初始化为随机值 printf("pt->j = %d ", pt->getJ()); delete pt; return 0; }
如何使一个类的对象有确定的初始值:
在类的public中提供一个initialize函数,创建对象后立即调用initialize函数初始化对象值。