CONTENTS
クラスとは
変数と関数をグループ化させたデータ構造体をクラスと言います。
クラスはC++の特徴であるオブジェクト指向プログラミングに必須の概念であり、C++を使うなら必ず覚えるべきです。
定義
クラスの定義は【class␣クラス名{};】と書きます。
クラスはクラス内に変数と関数を定義する事が出来ます。
クラス内の変数をメンバー変数と言い、【型名␣変数名;】と書きます。
クラス内の関数をメンバー関数と言い、【返り値␣関数名(引数…){}】と書きます。
なお、クラス名と同じ名前のメンバー関数をコンストラクタと呼びます。コンストラクタには返り値を設定できません。
コンストラクタの定義は【クラス名(){}】と書きます。
コンストラクタについては別の記事で詳しく解説致します。
class Myclass
{
Myclass(){}//コンストラクタ
int member;//メンバー変数
void Method(void){}//メンバー関数
};
クラスの使い方
クラスは通常の変数と同様に宣言、メンバー変数の初期化を行う必要があります。
宣言
宣言は【クラス名␣変数名;】と書きます。
宣言した段階では通常はメンバー変数の初期化が行われていない事に注意してください。
//クラス定義
class Myclass
{
Myclass(){}
int member;
void Method(void){}
};
//クラスの宣言
MyClass m;
//memberは初期化されていない
アクセス修飾子
メンバー変数やメンバー関数を参照するためにはアクセス修飾子というものを意識する必要がある。
今回はprivateとpublicの二つの場合を書いておきます。
privateはクラス内でのみ参照出来ます。
publicはクラス内外どちらからでも参照出来ます。
内外 | 修飾子 | 可否 |
クラス内 | private | 可 |
クラス内 | public | 可 |
クラス外 | private | 可 |
クラス外 | public | 可 |
修飾子を使った場合【修飾子名:】から下に書いたメンバー変数やメンバー関数はその修飾子が適応されます。
class MyClass
{
private://クラス内でのみ参照可能
int num;//private
public://クラス外からアクセス出来る
MyClass() { num = 0; }//public
void Add(int add) { num += add; }//public
};
クラスの使い方
メンバー変数に値を足していき出力することが出来るクラスを定義しました。
メンバー変数を参照する際は【クラス変数名.メンバー変数名】と書きます。
メンバー関数を参照するする際は【クラス変数名.メンバー関数名()】と書きます。
出力はSTLを使用しています。
#include<iostream>
class MyClass
{
public://ここから下はクラス外からアクセス出来る
int num;
MyClass() { num = 0; }
void Add(int add) { num += add; }//加算
void Print() {std::cout << num << std::endl;}//出力
};
int main()
{
MyClass c;
//c.num=0
c.Print();
c.Add(5);
//c.num=5
c.Print();
c.Add(c.num);//c.num += num;
//c.num=10
c.Print();
}
出力結果
0
5
10
以上、C++クラス入門のご紹介でした。
Amazonのアソシエイトとして、当メディアは適格販売により収入を得ています。