成员变量初始化有三种方式:

  • 在构造函数体内赋值初始化

  • 在自定义的公有函数体中赋值初始化(一般用于成员变量的初始化)

  • 在构造函数的成员初始化列表初始化

一、构造函数体内初始化

  • 说明:在构造函数体内的初始化方式,本质是是为成员变量赋值,而不是真正意义上的初始化,这点要特别注意!(下面介绍成员初始化列表时会有演示案例对比说明)

class Cperson{private:int m_age;float m_height;char* m_name;public:Cperson(int age,float height,const char* name){m_age=age;m_height=height;if(m_name)//先判断当前是否为空delete[]  m_name;if(name)//如果外部传入的不为空{int len=strlen(name);m_name=new char[len+1];//创建内存strcpy(t m_name,name);}elsem_name=nullptr;}}

二、自定义的公有函数体中赋值初始化

  • 说明:与构造函数体内初始化方式一样,此种方式本质上也是赋值,而不是初始化

class Cperson{private:int m_age;float m_height;char* m_name;

C++:20---成员变量初始化方式相关推荐

  1. C++:08---成员变量初始化方式

    成员变量初始化有三种方式: 在构造函数体内赋值初始化 在自定义的公有函数体中赋值初始化(一般用于成员变量的初始化) 在构造函数的成员初始化列表初始化 一.构造函数体内初始化 说明:在构造函数体内的初始 ...

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

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

  3. Java成员变量初始化和构造函数顺序

    1.Java虚拟机会将所有的初始化动作手机到<init>()方法中,在分配内存后,就开始调用<init>()方法,其中,成员变量的初始化在构造函数里的初始化动作之前. publ ...

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

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

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

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

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

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

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

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

  8. C++成员变量初始化顺序问题

    由于面试题中,考官出了一道简单的程序输出结果值的题:如下, [cpp] view plain copy  print? class A { private: int n1; int n2; publi ...

  9. c++模板类静态成员变量_一文讲透父子类中静态变量,成员变量初始化顺序原理...

    推荐: 从面试到入职到离职,我在B站工作的30天时光 爱了爱了,Alibaba顶级MySQL调优手册到手,加薪妥了 爱了爱了,Spring Cloud Alibaba内部微服务架构笔记真的太牛了 本文 ...

最新文章

  1. 服务注册与发现用mysql_yeasul: 轻量级服务注册与发现中心,具有健康检查功能。...
  2. php数据访问(查询)
  3. 如何把svn代码拉下来,Maven - 从SVN拉取代码
  4. java 查找list中指定字符串出现的次数
  5. vue-cli多环境配置
  6. 【OO学习】OO第二单元作业总结
  7. 微软开源项目 NeuronBlocks:像搭积木一样构建 NLP 深度学习模型!
  8. IOS开发之多线程 -- GCD的方方面面
  9. html时钟自动刷新抖音,抖音上炫酷的网红文字时钟
  10. 【C语言初学】C语言中表示次方与开根
  11. 车联网V2X深度应用,聚焦CIDI智能网联交叉路口技术
  12. 国外的android手机号码,Android - 手机号码格式化和删除国家/地区代码
  13. 树莓派+SAKS扩展板实现数码管时钟
  14. Win10系统电脑声卡驱动正常但没声音?驱动人生解决方案
  15. 用微信h5棋牌源码来测量相机到目标的距离
  16. 阿米洛蓝牙连接教程_游戏手柄还不会使用?来这教你,轻松搞定游戏手柄连接问题...
  17. phpstorm 2021 最新版 官方中文教程
  18. LRU(Least Recently Used)算法简单介绍
  19. 转载 TheBrain7.0.3.2(PersonalBrain7.0.3.2)和谐文件
  20. 计算机专业英语PPT搞笑,计算机专业英语PPT

热门文章

  1. 冯诺依曼原理中计算机包括功能部件,水泥越细,强度发展越快,对混凝土性能也越好...
  2. 【转】01.Dicom 学习笔记-DICOM C-Store 消息服务
  3. 【转】.net框架读书笔记---CLR内存管理\垃圾收集(四)
  4. VS的包含目录、库目录、引用目录、可执行目录解释
  5. java configuration_关于JAVA 中的Configuration类
  6. c++清空输入缓冲区_干货 | C++的输入输出方法
  7. CCIE-LAB-第八篇-OSPF前缀压制+MTU+路由汇总
  8. 【机器学习】 - 关于合适用均方误差(MSE)何时用交叉熵(cross-entropy)
  9. 【Codeforces - 977D】Divide by three, multiply by two(思维构造)
  10. 【计蒜客 - 2019南昌邀请赛网络赛 - H】Coloring Game(找规律,思维dp)