简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!
优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀
人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

1.前言
本篇目的:理解C++之构造函数列表为默认值
2.应用实例
<1>.v1.0
#include <iostream>
using namespace std;
class B{
public:
  int num = 10;
};
class A{
public:
  A(): mBuf("Hello"), mB(){
    printf("%s(), line = %d\n",__FUNCTION__,__LINE__);
  }
  void test_count(){
    printf("%s(), line = %d\n",__FUNCTION__,__LINE__);
  }
  
  string mBuf;
  B mB;
};
int main(){
  //1.类第一种实例化方式
  //A b = A();
  //2.类第二种实例化方式
  // A *a = new A();
  //3.构造函数列表默认值
  A c;
  c.test_count();
  int num = c.mB.num;
  string buf = c.mBuf;
  printf("%s(), line = %d, num = %d, buf = %s\n",__FUNCTION__,__LINE__,num,buf.c_str());
}
 
注意:c.mB即A构造函数列表的默认值,在A类中直接实例化B类对象为mB,在main函数中直接用。
在A构造函数初始化中传递为空,即使用默认值: A(): mBuf(“Hello”), mB()中,mB没有传递B类实例化对象,直接使用默认值。




![[kingbase运维之奇怪的现象]](https://img-blog.csdnimg.cn/e490cd4982e34efd9e8fbc17c56f0e22.jpeg#pic_center)














