No.1ベストアンサー
- 回答日時:
例えば、
class CClassTest {
private:
int Member;
public:
int FuncA();
int FuncA() const;
};
とのクラスで、
CClassTest test_a;
CClassTest const test_b;
とのインスタンスである場合に、
test_a.FuncA()は非const関数が、test_b.FuncA()はconst関数が呼ばれます。const関数内ではメンバ変数を変更することができない(例えばint FuncA() constの中ではMemberの値を変更することができない)ことから、「クラスの状態(メンバ変数)がconstになる」と考えることができるのでしょうか。test_bはconstとしているのですから、その状態が変更されては困るということでしょうか。
No.2
- 回答日時:
普段constは定数のように一定の値を取るときに使いますよね。
それと同じような感じで「class内のメンバ変数に変更を加えない」という意味です。どんなときに使うかと言うと例えば
classCAAA
{
int m_nData;
public:
CAAA()
{
m_nData = 0;
}
boolIsZero(void) const
{
returnm_nData == 0 ? true : false;
}
};
こんなクラスがあったとします。
このクラスを使っているうちに
boolCheck(const CAAA& ccc)
{
returnccc.IsZero();
}
Check関数ではCAAAの中身を改変しないからconst参照で渡そうなんてすると...IsZero関数にconst指定がないとエラーになります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか 3 2023/03/31 16:28
- C言語・C++・C# Cの関数の引数のconst *charについて 5 2023/04/25 13:05
- JavaScript WordPressのコンタクトフォーム7にて送信者の位置情報を送らせたい 2 2022/09/14 23:28
- Excel(エクセル) このコードに追記事項の仕方を教えて下さい。 以下のコード内容に出てくる。セルH3が空白の場合、エラー 4 2023/08/03 00:22
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- JavaScript Json のキーと値の出力の違いについて 2 2022/06/14 20:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【gcc・cygwin】multiple defin...
-
既定のコンストラクタがありま...
-
int main()、void main()、void...
-
戻り値を返す関数の前に(void)...
-
C# KeyDownイベントでショート...
-
C# Controls.Addで動的に配置し...
-
多重定義が起きている?--lnk20...
-
stddef.hって何?
-
VC++でGetKeyboardStateがうま...
-
Notepad++の関数リスト表示の変...
-
関数の戻り値がextern
-
C++でイベントドリブンなコード...
-
C++にてtemplateで受け取った任...
-
メッセージマップ(ON_CONTROL_...
-
マルチメディアタイマーの使用方法
-
クラス間でのクラスの共有?
-
string型とsbyte*型の変換
-
SC_SIZEがわからない
-
ArduinoでMouse関数を使用して...
-
void*型の配列について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Notepad++の関数リスト表示の変...
-
ArduinoでMouse関数を使用して...
-
【gcc・cygwin】multiple defin...
-
戻り値を返す関数の前に(void)...
-
多重定義が起きている?--lnk20...
-
C++にてtemplateで受け取った任...
-
既定のコンストラクタがありま...
-
静的でないメンバ関数の呼び出...
-
gcc: incompatible pointer type
-
C# Controls.Addで動的に配置し...
-
int main()、void main()、void...
-
(void)0 はどんな意味ですか
-
VC++でGetKeyboardStateがうま...
-
void*型の配列について
-
C# KeyDownイベントでショート...
-
const_castのつかいどころを教...
-
H8マイコンのシリアル通信につ...
-
コールバックって・・・
-
関数ポインタについて
-
void main()って誰が最初?:AN...
おすすめ情報