C ++中的Struct構造函數?

struct是否能夠在C ++中使用構造函數? 函數

我一直試圖解決這個問題,但我沒有獲得語法。 spa


#1樓

struct TestStruct {
        int id;
        TestStruct() : id(42)
        {
        }
};

#2樓

在C ++中, classstruct之間的惟一區別是成員和基類在類中默認是私有的,而默認狀況下它們在結構中是公共的。 code

因此結構體能夠有構造函數,語法與類相同。 繼承


#3樓

是。 結構就像一個類,但默認爲public: :,在類定義中和繼承時: 教程

struct Foo
{
    int bar;

    Foo(void) :
    bar(0)
    {
    }
}

考慮到你的其餘問題,我建議你閱讀一些教程 。 他們會比咱們更快,更完整地回答您的問題。 get


#4樓

是的,C ++中的結構和類是相同的,除告終構成員默認是公共的,而類成員默認是私有的。 你能夠在一個結構中作的任何事情。 it

struct Foo
{
  Foo()
  {
    // Initialize Foo
  }
};

#5樓

是的,但若是你的結構是聯盟,那麼你就不能。 它與班級相同。 io

struct Example
{
   unsigned int mTest;
   Example()
   {
   }
};

工會不容許結構中的構造函數。 您能夠在聯合上建立構造函數。 這個問題涉及工會中的非平凡建構者。 class

相關文章
相關標籤/搜索