您的位置:首页 > 编程语言 > C语言/C++

C++中类成员变量的初始化以及函数变量初始化

2012-03-08 12:48 295 查看
1.类成员变量初始化

以前用JAVA,在类中可以随意初始化成员变量,没想到C++中完全不一样。所以总结一下C++中的成员变量初始化方法:

如: int a; //编译能通过,但a的值不确定

int a1=1;//错误

const int a2;

const int a3=1;//错误

static int a4;

static int a5=1;//错误

static const int a6;

static const int a6=1;

主要的问题就在于变量的修饰符:const和static. 只有声明为static const的变量才可以直接初始化。那么对于非static const的变量该如何初始化呢?

对于static变量来说,可以通过 类型 类名::变量名 来初始化 假如上述代码定义在Genius类中,那么a4可以这么初始化: int genius::a4=1;

对于像a a1 a2 这样的可以通过构造函数初始化列表来初始化,如 Genius():a1(1),a2(1)

2.函数变量初始化

2.1内置类型变量初始化

内置类型变量是否自动初始化取决于变量定义的位置,在函数体外定义的都初始化为0,函数体内定义的不自动初始化。(尽量为定义的每个变量初始化)

2.2类类型变量初始化

通过构造函数。即使你没有定义初始化,系统也提供了默认构造函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: