正确的方法来分离类成员的声明和初始化

时间:2014-11-14 03:58:31

标签: c++

我是C ++的新手,无法找到在构造函数中声明和初始化成员变量的正确方法,以便可以在整个类的其余部分使用它。

我有一个带有公共构造函数的自定义类,它将三个std :: string作为参数 -

e.g。 MyClass client("a", "b", "c");

来自Java / C#背景我习惯在其他类中使用它,如下所示:

public Class Foo
{

  private MyClass client = null;

  public Foo()
  {
    client = new MyClass("a", "b", "c");
  }

  ... [can use MyClass member variable client in methods here]

}

我如何在C ++中做类似的事情?我已经尝试将MyClass client;放在我的头文件中的私有块中,然后在cpp文件中初始化它,如client("a", "b", "c");,但这不起作用。

任何例子都会有所帮助。

感谢。

1 个答案:

答案 0 :(得分:2)

这是最简单的形式。你应该对c ++类进行一些阅读。

class Foo
{
    MyClass client;

public: 
    Foo() : client("a", "b", "c") {}
}