当前位置: 代码迷 >> 综合 >> C++ 类的初始化
  详细解决方案

C++ 类的初始化

热度:85   发布时间:2024-02-06 15:17:39.0
  • 类的数据成员的初始化是在构造函数体运行之前完成的。
  • 类的数据成员按照在类中声明的顺序初始化,如果构造函数初始值列表中存在显示初始化成员,则使用构造函数初始值列表;如果构造函数初始值列表没有对应的数据成员初始值,则执行默认初始化。

方法一:在构造函数初始化列表中进行初始化:

class Subtarget{ Subtarget(int Parameter1, int Parameter2){};  
}  //定义一个类Subtarget,在其他类中可以像使用内置类型一样将该类的对象作为成员对象  class Target{Target()::subtarget{4,8}{}  //构造函数初始值列表中也可以使用subtarget(4,8)的形式。Subtarget subtarget;
}

构造函数初始值列表名字后面紧跟的初始值可以用(),也可以用{}括起来。 

方法二:在类的声明时可以初始化,但不能使用()括号方式初始化。

class Subtarget{ Subtarget(int Parameter1, int Parameter2){};
}  //定义一个类Subtarget,在其他类中可以像使用内置类型一样将该类的对象作为成员对象  class Target{Subtarget subtarget{4,8};//成员对象初始化, !!注意:不能使用Subtarget subtarget(4,8),会报错:error:expected identifier before numeric constant
}

 

  相关解决方案