C++变量的初始化方式
2012-04-09 17:44
218 查看
写这个问题是受微软今年实习生招聘的一道笔试题启发,上一篇博客好像提到了。之前还真没细想过这些事情。
首先把需要初始化的成员变量分为几类:
一般变量(int)
静态成员变量(static int)
常量(const int )
静态常量(static const int)
对应的初始化方式是:
一般变量可以在初始化列表里或者构造函数里初始化,不能直接初始化或者类外初始化
静态成员变量必须在类外初始化
常量必须在初始化列表里初始化
静态常量必须只能在定义的时候初始化
举一个简单的例子
#include <iostream>
#include <string>
using namespace std;
class Test
{
private:
int a;
static int b;
const int c;
static const int d=4;
public:
Test():c(3)//,a(1)或者在初始化列表里初始化
{
a=1;
}
};
int Test::b=2;
void main()
{
Test t;
}
首先把需要初始化的成员变量分为几类:
一般变量(int)
静态成员变量(static int)
常量(const int )
静态常量(static const int)
对应的初始化方式是:
一般变量可以在初始化列表里或者构造函数里初始化,不能直接初始化或者类外初始化
静态成员变量必须在类外初始化
常量必须在初始化列表里初始化
静态常量必须只能在定义的时候初始化
举一个简单的例子
#include <iostream>
#include <string>
using namespace std;
class Test
{
private:
int a;
static int b;
const int c;
static const int d=4;
public:
Test():c(3)//,a(1)或者在初始化列表里初始化
{
a=1;
}
};
int Test::b=2;
void main()
{
Test t;
}
相关文章推荐
- C++变量的初始化方式
- C++变量的初始化方式
- c++中各类型成员变量的不同方式的初始化
- C++成员变量的初始化方式
- C++变量的初始化方式
- C++_类_不同类型成员变量的初始化方式
- c++ 类中static变量初始化问题
- C++ 类中特殊的成员变量(常变量、引用、静态)的初始化方法
- C++中结构体的类型定义和初始化以及变量引用
- c++ vector的六个初始化方式
- c++中局部变量未初始化引发的离奇惨案~~
- [C++再学习系列] 变量与声明时初始化
- C/C++ 通过初始化列表和构造函数内赋值初始化成员变量的区别
- C++中各种类型的成员变量的初始化方法
- C++变量初始化
- C++变量 声明、初始化、定义
- C++ 类中特殊的成员变量(常变量、引用、静态)的初始化方法
- C++ 成员变量的初始化顺序问题详解
- c++中变量未初始化的隐患
- 谁能告诉我这是为什么呢?C++变量初始化问题