![]() |
![]() |
TOP > C++ > const |
![]() |
![]() |
constをメンバ変数につける
メンバ変数にconstを付けると、その変数は値を変えることができなくなる。その変数に初期値を与える時は、メンバ初期化リストで行う必要がある。一部のコンパイラでは、宣言と同時に値を代入する事ができない。
constをメンバ関数につける
メンバ関数自体にconstをつけると、そのメンバ関数内でメンバ変数の値を変更する事ができなくなる。
(書式)戻り値 関数名(...) const
constメンバ関数内で特定のメンバ変数の値を変更する
メンバ変数にmutableキーワードを付加すると、その変数はconstで宣言したメンバ関数内で値を変更する事ができる。
constの例
#include <iostream> using namespace std; class constTest { //const宣言した変数は値を変更できない //尚、コンパイラによっては、宣言と代入を同時に行えない const int M_MAX_SIZE; //以下の変数はconst関数内で変更可 mutable int m_test; public: //メンバ初期化リストで初期値を与える constTest() : M_MAX_SIZE(100) { } //constで宣言したメンバ関数 int getMaxSize() const { //mutableで宣言した変数はconst宣言した関数内で値を変更できる m_test = 3; //以下は、コンパイルエラー //M_MAX_SIZE = 100; return(M_MAX_SIZE); } }; //テスト int main(int argc, char** argv) { constTest obj; cout << obj.getMaxSize() << endl; return(0); } |
![]() |
![]() |
Copyright 2007 ためになるホームページ All Rights Reserved. |