zoukankan      html  css  js  c++  java
  • C++类成员和数据成员初始化总结

    C++为类中提供类成员的初始化列表
    类对象的构造顺序是这样的:
    1.分配内存,调用构造函数时,隐式/显示的初始化各数据成员
    2.进入构造函数后在构造函数中执行一般计算
      1.类里面的任何成员变量在定义时是不能初始化的。
      2.一般的数据成员可以在构造函数中初始化。
      3.const数据成员必须在构造函数的初始化列表中初始化。
      4.static要在类的定义外面初始化。  
      5.数组成员是不能在初始化列表里初始化的。
      6.不能给数组指定明显的初始化。 
    这6条一起,说明了一个问题:C++里面是不能定义常量数组的!因为3和5的矛盾。这个事情似乎说不过去啊?没有办法,就只好转而求助于静态数据成员。
    到此,我的问题解决。但是趁机复习一下C++类的初始化:
      1.初始化列表:CSomeClass::CSomeClass() : x(0), y(1){}
      2.类外初始化:int CSomeClass::myVar=3;
      3.const常量定义必须初始化,C++类里面使用初始化列表;
      4.C++类不能定义常量数组。

  • 相关阅读:
    Java设计模式--单列设计模式
    TCP服务器端和客服端(一)
    面向对象 ---Java抽象类
    全新的代码
    黑马程序员入学基础测试(五)
    mysql 权限管理
    centos7 端口开放
    centos7 yum 安装 mysql
    centos7 安装jdk
    centos7 yum 安装jq
  • 原文地址:https://www.cnblogs.com/dongzhiquan/p/2519721.html
Copyright © 2011-2022 走看看