定数のconstメンバ変数をクラスに宣言

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

クラスでは、定数のメンバを定義できます。
クラスの外側の場合は、定数の変数は、宣言時に初期化する必要があります。

スポンサーリンク

const int data_size = 1024;

クラスの定数メンバ変数

クラスの外側と違って、クラスの内側の場合、定数は宣言時に初期化できません。
また、定数メンバはコンストラクタが初期化しますが、以下のような書き方は許可されません。

#include <iostream>
 
class data_list {
  public:
    const int data_size;
 
    data_list() {
        data_size = 1024;
    }
};
 
int main() {
    data_list a_data;
    std::cout << a_data.data_size << "\n";
    return 0;
}

特別な構文を用いて、定数を初期化する必要があります。

#include <iostream>
 
class data_list {
  public:
    const int data_size;
 
    data_list():
    data_size(1024) {
    };
};
 
int main() {
    data_list a_data;
    std::cout << a_data.data_size << "\n";
    return 0;
}

実行結果。

1024
スポンサーリンク
 
スポンサーリンク