C++之构造函数初始化列表()与{}区别(一百九十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!

优质专栏:Audio工程师进阶系列原创干货持续更新中……

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

更多原创,欢迎关注:Android系统攻城狮

欢迎关注Android系统攻城狮

1.前言

本篇目的:C++之构造函数初始化列表()与{}区别。

2.实例

#include 
#include 
#include 
using namespace std;

class Test {
public:
  string mName;
  int mCount;
  //v1.0:使用{}大括号
  Test() : mName{"Tom"}, mCount{18} {}

  //v2.0:使用()小括号
  Test(int count) : mName("Tom"), mCount(18) {}

  //v3.0:
  Test(string name, int cc) : mName{name}, mCount{cc} {}
};

int main() {
  //v1.0
  Test cs;
  printf("name = %s, count = %d\n",cs.mName.c_str(),cs.mCount);

  Test t1(1);
  printf("name = %s, count = %d\n",t1.mName.c_str(),t1.mCount);

  //v3.0
  Test tt("Li",20);
  printf("name = %s, count = %d\n",tt.mName.c_str(),tt.mCount);
  return 0;
}

你可能感兴趣的:(C++入门系列,c++,开发语言)