C++類的成員初始化


C++類的成員初始化

學到一個類的成員初始化,目前已知的用途是給類內部的const類型變量進行賦值。

首先,如果像這么干,編譯器會報錯。

class MyClass{
    public:
    Myclass(int a, int b){
        regVar = a;
        constVar = b;
    }
    private:
    	int regVar;
    	const int constVar;
};

這樣做會報錯的原因是,構造器內部的代碼只有在類被實例化時才會運行。所以我先定義了一個const類型的整型數,這個數字原則上是不可以改變的,這是不可以被改變的,所以報錯了。

那么,要怎么辦呢?在C++中,我們利用構造器進行成員初始化。(這里我不知道怎么說了,英文是Member Initialization List),這個列表由一個冒號連接。用variable(value)的形式進行賦值。說起來好抽象,看代碼。

class MyClass{
    public:
    Myclass(int a, int b): regVar(a), constVar(b){
        // code here
    }
    private:
    	int regVar;
    	const int constVar;
};

這樣看起來很高級,初始化必須用於const類型的賦值,可以選用於一般的變量賦值。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM