类中的成员变量类型可分为:

  1. 普通成员
  2. 常量成员 (const)
  3. 引用成员 (&)
  4. 静态成员 (static)
  5. 静态常量成员 (static const / const static)

成员的初始化有3中方式:

  1. 类内初始化
  2. 初始化成员列表
  3. 类外初始化

具体方式:

  1. 普通成员可以使用类内初始化和初始化成员列表进行初始化。
  2. 常量成员只能通过初始化成员列表进行初始化。
  3. 引用成员只能通过初始化成员列表进行初始化。
  4. 静态成员只能通过类外初始化进行初始化。
  5. 静态常量成员只能通过类外初始化进行初始化。
  6. 静态常量int成员还可以通过类内初始化进行初始化。

示例:

class Test
{private:Test(int& other)  : normal(0) // 初始化成员列表, cNormal(0) // 初始化成员列表, rNormal(other) // 初始化成员列表{}private:int normal = 0; // 类内初始化const int cNormal;int& rNormal;static int sNormal;static const int scNormal = 0; // 类内初始化
};int Test::sNormal = 0; // 类外初始化 (最好放在cpp中)
const int Test::scNormal = 0; // 类外初始化 (最好放在cpp中)

类成员变量初始化总结相关推荐

  1. java类成员变量初始化_探讨Java类中成员变量的初始化方式

    在 Java 里定义一个类的时候,很多时候我们需要提供成员变量,成员变量专业叫法是 Memeber Variable 或者干脆的叫作 Field. 根据是否使用 static 关键字修饰,可以将 Fi ...

  2. 吐槽C++:C++ 类成员变量初始化 之 初始化带有参数的构造函数 的类成员变量。...

    本来我想写这样的代码: class MatchManager{ public:MatchManager(){}class OnTimerRunFuncHelper{public:OnTimerRunF ...

  3. 类成员初始化顺序php,PHP-php类成员变量初始化的问题?

    PHP类中,若要初始化成员属性,那么成员属性的初始值必须是一个常数,如果不是常数(如变量),则会报错,所以,如果你要初始化就只能是在构造函数里进行初始化,不过你可以写一个方法,这样就可以在构造函数里批 ...

  4. C++笔记之结构体内对vector初始化,一般初始化,和类内私有vector类型成员变量初始化

    C++笔记之结构体内对vector初始化,一般初始化,和类内私有vector类型成员变量初始化 文章目录 C++笔记之结构体内对vector初始化,一般初始化,和类内私有vector类型成员变量初始化 ...

  5. c++构造函数以及类中变量初始化顺序

    c++构造函数以及类中变量初始化顺序 Submitted by ant on Fri, 03/29/2013 - 20:05 构造函数 c++ 的类提供了一种抽象机制,使用起来要比 c 方便很多.为了 ...

  6. 继承中类以及成员变量初始化的讨论。

    1.在讲之前首先应该了解static.final.static final修饰符的含义,这里简单介绍一下. static:可以修饰变量.方法,被修饰的变量称之为静态变量,其初始化发生在其所在类第一次被 ...

  7. C++---类成员变量定义为引用

    C++---类成员变量定义为引用 摘要:类成员变量是可以定义为引用类型的,但是我们需要注意一下用法 note1:在类中定义引用变量, 必须要在初始化列表中初始化该成员变量(const 类型数据成员也必 ...

  8. java 成员变量的初始化_Java类变量和成员变量初始化过程

    一.类的初始化 对于类的初始化:类的初始化一般只初始化一次,类的初始化主要是初始化静态成员变量. 类的编译决定了类的初始化过程. 编译器生成的class文件主要对定义在源文件中的类进行了如下的更改: ...

  9. Java 类加载顺序与成员变量初始化

    类加载顺序 父类静态代码块(包括静态初始化块,静态属性,但不包括静态方法) 子类静态代码块(包括静态初始化块,静态属性,但不包括静态方法 ) 父类非静态代码块( 包括非静态初始化块,非静态属性 ) 父 ...

  10. 使用Mockito对类成员变量进行Mock

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Mock ...

最新文章

  1. 哈佛牙学院博士后:教你口腔保健基本功之牙线篇
  2. 自动拒绝恶意IP远程登录Linux服务器脚本
  3. CentOS查看主板型号、CPU、显卡、硬盘等信息
  4. 制作bat脚本,抓取Android设备logcat
  5. javascript,css延迟加载器
  6. Python之——遇到的小知识点总结
  7. 18 MM配置-BP业务伙伴-定义业务伙伴角色分组
  8. Git之同一台电脑如何连接多个远程仓库
  9. 基于jquery响应式网站图片无限加载瀑布流布局
  10. 如何分析及处理 Flink 反压?
  11. 跨部门的bug的沟通
  12. 加密视频如何破解 如何解除机器码绑定的视频
  13. 中国31省旅游院校数和旅游院校招生数(2009-2017年)
  14. 网络安全从小白到专家
  15. AHP(层次分析法)学习笔记及多层权重Python实践
  16. Gyroscope in smartphone 手机中的陀螺仪传感器
  17. 湘乡江南计算机学校舒俊梅,东山学校建校120周年校庆捐款捐物情况公布-湘乡东山学校.DOC...
  18. android7.1添加F13到F24按键
  19. Android文字广告(Textview上下滚动),使用TextSwitcher控件实现
  20. linux pci/pcie驱动

热门文章

  1. python - - 函数 - - 递归函数
  2. 检查PHP扩展是否安装成功
  3. HTML5移动端最新兼容问题解决方案
  4. 判断字符串是只是数字
  5. WIN10远程计算机不支持所需的FIPS安全级别解决
  6. ( # #@ ## 在define中的应用)或( 连接两个字符串或者两个数字、强制转化成单引号、强制转化成双引号 )附加字符串强制转化成数字...
  7. Hadoop - 任务调度系统比较
  8. 让应用通过苹果审核出人头地的10个方法
  9. PHP的日期时间函数date()
  10. /etc/mtab is not writable