スポンサードリンク
HOME > C++言語 > クラス機能 アクセス指定子について

C++言語 - クラス機能 アクセス指定子について

クラス内にメンバ変数、メンバ関数を定義する際には、

アクセス指定子と言うモノを考慮しなくてはなりません。

クラスのメンバを

クラスの外からアクセスできる部分できない部分に区別する事ができます。

クラスの外からアクセスできれば、

外側から、メンバ変数に代入したり、メンバ変数の値を読み出したり、

メンバ関数を呼び出したり・・・

と言った事が可能です。

逆に、クラスの外からアクセスできない設定ならば、

外側から、メンバ変数に代入したり、メンバ変数の値を読み出したり、

メンバ関数を呼び出したり・・・

と言った事が不可能になります。

 「クラスの外から」と言うのは、普通の関数内、又は別のクラスのメンバ関数内から
                    アクセスできるか。と言う意味で、
 「クラスの中から」と言うのは、自クラスのメンバ関数内からアクセスできるか。
                    と言う意味です。

アクセス指定子

実際に使用するアクセス指定子は3つです。
アクセス指定子 説明
public クラス外からアクセス可能
クラス内からアクセス可能
派生クラスからアクセス可能
private クラス外からアクセス不能
クラス内からアクセス可能
派生クラスからアクセス不能
protected クラス外からアクセス不能
クラス内からアクセス可能
派生クラスからアクセス可能
※アクセス指定子は、1つ1つのメンバ変数、関数に対して設定可能です。
※派生クラスやprotectedについては、クラスの継承とは?で説明しています。

アクセス指定子を使った例

#include <iostream>

using namespace std;

class hito {
int age;       // アクセス指定子記述なしの場合は
           // privateとみなされる
public:
int sinchou;     // public指定のメンバ変数

private:
int taiju;      // private指定のメンバ変数

void show_age() {                 // private指定の
   cout << "年齢は" << age << "です。" << '\n'; // メンバ関数
}

public:
void show_sinchou() {                 // public指定の
   cout << "身長は" << sinchou << "です。" << '\n'; // メンバ関数
}

private:
void show_taiju() {                 // private指定の
   cout << "体重は" << taiju << "です。" << '\n'; // メンバ関数
}

};


アクセス指定子なしの場合は、privateとみなされますが、

明示的に書いた方が分かりやすいと思います。



スポンサードリンク







HOME

言語解説編
プログラミング用語・知識

C言語

C++言語

Java

C#

Visual Basic.NET

アプリケーション編
C言語による
コンソールプログラミング




Copyright (C) プログラミングランド All Rights Reserved