构造函数定义样式混乱

时间:2020-04-22 21:34:35

标签: c++ constructor inline

我对不同的构造函数定义样式有些困惑。

  • 构造函数1与构造函数2和3是否相同?我知道#2和#3是等效的。
  • 这种构造方法#1是否有名称?
  • 我正在学习 C ++游览,我发现Bjarne经常使用#1。是否有特定原因?

构造函数#1

class T{
  int n;
  double x;
public:
  T(): n{0},x{0.0} {}
};

构造函数#2

class T{
  int n;
  double x;
public:
  T();
};
inline T::T(){
  n = 0;
  x = 0.0;
}

构造函数#3

class T{
  int n;
  double x;
public:
  T(){
    n = 0;
    x = 0.0;
  }
};

0 个答案:

没有答案