C++类的数据成员初始化
来源:互联网 发布:ubuntu jdk tar.gz 编辑:程序博客网 时间:2024/05/29 15:38
1.类里面的任何成员变量在定义时是不能初始化的。
2.一般的数据成员可以在构造函数中初始化(如果不初始化,成员的值是随机的、不可预测)。
3.const数据成员必须在构造函数的初始化列表中初始化。
4.static要在类的定义外面初始化(类成员)。
5.数组成员是不能在初始化列表里初始化的。
6.不能给数组指定明显的初始化。
7.类的成员初始化顺序与成员变量在构造函数初始化列表中的位置先后顺序无关,只与成员变量在类中定义的先后顺序有关。
(3和5 => c++类里面不能定义const数组成员)
//c++类里面不能定义const数组成员#include <iostream>using namespace std;class TEST{public: const int testVec[10];};int main(int argc, char** argv){ TEST test; return 0;}//编译报错xudongsong@sysdev:~$ g++ -o const_vector_mem const_vector_mem.cpp const_vector_mem.cpp: In function ‘int main(int, char**)’:const_vector_mem.cpp:12: error: structure ‘test’ with uninitialized const members
//验证数据成员初始化顺序#include <iostream>using namespace std;class TEST{public: TEST(int arg) : b(arg), a(b) {}; void show() { cout << "a=" << a << "\tb=" << b << endl; }private: int a; int b;};int main(int argc, char** argv){ TEST test(20); test.show(); return 0;}//输出结果显示a(b)在b(arg)之前执行xudongsong@sysdev:~$ g++ -o member_initialize member_initialize.cpp ; ./member_initialize a=32767 b=20
- 类的数据成员初始化
- 类数据成员的初始化
- 数据成员的初始化
- 类的数据成员的初始化
- C++类数据成员的初始化
- C++类的数据成员初始化
- 类中常量数据成员的初始化
- C++类数据成员的初始化
- C++ 初始化类的三个数据成员
- C++ 初始化类的三个数据成员
- C++ 初始化类的常量数据成员、静态数据成员、常量静态数据成员
- C++ 初始化类的常量数据成员、静态数据成员、常量静态数据成员
- C++ 初始化类的常量数据成员、静态数据成员、常量静态数据成员
- C++ 初始化类的常量数据成员、静态数据成员、常量静态数据成员
- C++ 初始化类的常量数据成员、静态数据成员、常量静态数据成员
- C++ 初始化类的常量数据成员、静态数据成员、常量静态数据成员
- C++ 初始化类的常量数据成员、静态数据成员、常量静态数据成员
- 常数据成员的初始化
- NYOJ-452 ShippingCubes【数学】
- Linux 工作队列详解
- 智能手机音频系统概述
- throw 和throws的区别
- 编译Android源代码过程中的一些问题解决方法
- C++类的数据成员初始化
- Android如何找到正确的ALSA底层kcontrol接口?
- mysql,oracle,sqlserver操作语句
- Java程序员应该了解的10个面向对象设计原则
- 批量拷贝时跳过某个文件或文件夹 xcopy的EXCLUDE参数用法
- 配置tftp,dhcp, nfs服务
- Visual.Assist.X.V10.6.1845的破解补丁,正式发行版本,推荐更新 2011.03.13 (General release.) .
- UPDATE OPENDATASOURCE('SQLOLEDB','')的正确语法格式
- js 跳转方法