スポンサードリンク
HOME > C++言語 > クラスとは?

C++言語 - クラスとは?

C++言語には、C言語にはなかったクラスと言う機能があります。

C言語には、複数の変数をまとめて一つの型として使える「構造体」

と言うモノがありましたが、

クラスは、その構造体に、関数も含める事ができる機能です。

つまり、クラスの中には、複数の変数複数の関数を含める事ができます。

それゆえに、クラスは、クラス1つで単独の機能・仕事を行うのに適しています。

クラスは、構造体と同じく、独自のユーザ定義型です。

構造体と同じように定義すれば、宣言して使う事ができます。

また、変数と違い、クラスは、変数や関数を含む複合体なので、

クラスをオブジェクトと表現する事があります。

クラスの定義方法

クラスの定義には、キーワードclassを使います。

そして、変数や関数を書いていきます。

クラス内に宣言される変数や関数をクラスメンバと呼び、

それぞれ、メンバ変数メンバ関数と呼びます。

#include <iostream>

using namespace std;

class hito {
public:
int age;
int sinchou;
int taiju;

void show_age() {
   cout << "年齢は" << age << "です" << '\n';
}

void show_sinchou() {
   cout << "身長は" << sinchou << "です" << '\n';
}

void show_taiju() {
   cout << "体重は" << taiju << "です" << '\n';
}

};


キーワードpublic:については、アクセス指定子についてで説明する事にします。

クラスの使い方

クラスを定義し、変数や構造体のように宣言すれば

使用する事ができます。


hito satou;


これは、hito型クラスの定義内容がコピーされて、

satouと言うオブジェクトが作られた事を示します。

このコピーされたオブジェクトsatouの事をインスタンスと呼びます。


hito satou;       // hito型オブジェクトの作成
hito *p;         // hito型オブジェクトのポインタ
class hito suzuki;    // 先頭にclassをつけてもOK

/********** 通常の使い方 **********/
satou.age = 20;     // メンバ変数に代入
satou.sinchou = 170;   // メンバ変数に代入
satou.taiju = 60;    // メンバ変数に代入

satou.show_age();    // メンバ関数呼び出し
satou.show_sinchou();  // メンバ関数呼び出し
satou.show_taiju();   // メンバ関数呼び出し

/********** ポインタ形式の使い方 **********/
p = &satou;
p->age = 30;       // メンバ変数に代入
p->sinchou = 180;    // メンバ変数に代入
p->taiju = 90;      // メンバ変数に代入

p->show_age();    // メンバ関数呼び出し
p->show_sinchou();  // メンバ関数呼び出し
p->show_taiju();   // メンバ関数呼び出し


クラスのメンバに含める事ができるモノ

メンバ変数やメンバ関数はもちろんですが、

クラス内にクラスや構造体、共用体、列挙型なども含める事は可能です。

また、マニアックですが、typedefなども使う事ができます。

この場合、typedefを記述したクラス内だけの適用となります。



スポンサードリンク







HOME

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

C言語

C++言語

Java

C#

Visual Basic.NET

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




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