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

标签 c++

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

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

例如MyClass 客户端("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; 放在我的头文件的私有(private) block 中,然后在 cpp 文件中初始化它,如 client("a", "b", "c"); 但这不起作用。

任何示例都会有所帮助。

谢谢。

最佳答案

这是最简单的形式。您真的应该阅读一些有关 C++ 类的内容。

class Foo
{
    MyClass client;

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

关于c++ - 分离类成员声明和初始化的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26922663/

相关文章:

c++ - QObject : Cannot create children for a parent that is in a different thread

c++ - #define 中的## 是什么意思?

c++ - 我们传递给参数的无符号类型是什么?

c++ - MFC 程序中的堆损坏

c++ - 拦截鼠标输入

c++ - 查找生成 WM_INPUT 消息的设备的位置信息

c++ - Natvis 用于可编译为 dll 或 lib 的类型

c++ - 无法在 C++ 中打印数组

c++ - 使用 Cmake 和 QtCreator 时 undefined reference

c++ - 从指针 vector 中删除对象