简介: 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类实例化对象,直接使用默认值。