c ++如何为另一个类中的定义类指定特定值

时间:2016-05-10 18:14:39

标签: c++ class constructor

我尝试将一些int值传递给另一个类中的类的构造函数。 例如:

States_Images::where('id_state', $id)->first();

有办法做到这一点吗?或者这在我的网站上是疯了吗?

2 个答案:

答案 0 :(得分:2)

只能使用 brace-or-equal-initializer 在类中初始化成员。以下两种语法都是正确的:

A a{1};
A a = A(1);

事实上,如果A::A(int)不明确,那么你也可以做到

A a = 1;

答案 1 :(得分:2)

  

有办法做到这一点吗?

当然,正确的方法是使用类B中的成员初始化列表:

class B
{
public:
    B() : a(1) {}
    A a;
};
  

或者这是我网站的疯狂?

不,没什么疯狂的。直接使用正确的语法。

另一种方法可能是为类A

提供默认构造函数
class A
{
public:
    A() = default;
    A( int k );
};

并在B的构造函数体内进行初始化:

class B
{
public:
    B() {
        a = A(1);
    }
};