在c++类中创建一个对象

Creating an object within my class c++

本文关键字:创建 一个对象 c++      更新时间:2023-10-16
class Button {
public:
    Button(int pin, int debounce)
    {
    }
};
class TransferTable {
private:
    Button a(1, 1);
public:
    TransferTable()
    {
    }
};

上面的代码在引用"Button a(1,1)"行时给了我一个"数字常量之前的预期标识符"的错误。类型为Button。我只想在TransferTable类中构造一个按钮对象

默认的成员初始化语法要求使用花括号:

private:
Button a{1,1};

或者,您可以使用"equal-syntax"来做同样的事情,正如juanchopanza指出的:

private:
Button a = Button(1, 2);

或者,如果不能依赖c++ 11,则必须使用成员初始化列表。

class Button
{
public:
  Button(int pin, int debounce)
  {
  }
};
class TransferTable
{
public:
  TransferTable() : a(1, 1)
  {
  }
private:
  Button a;
};