簡體   English   中英

正確區分類成員的聲明和初始化的正確方法

[英]Proper way to separate declaration and initialisation of class members

我是C ++的新手,在弄清楚在構造函數內部聲明和初始化成員變量的正確方法時遇到了麻煩,因此可以在類的其余部分中使用它。

我有一個帶有公共構造函數的自定義類,該類帶有三個std :: string作為參數-

例如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; 在我的頭文件的private塊中,然后在cpp文件中將其初始化為client("a", "b", "c"); 但這不起作用。

任何示例都將有所幫助。

謝謝。

以最簡單的形式。 您確實應該對c ++類進行一些閱讀。

class Foo
{
    MyClass client;

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM