C++のクラス(Class)とは?仕組みと使い方をわかりやすく解説!
C++を学ぶ上で避けて通れないのが「クラス(Class)」という概念です。クラスは、オブジェクト指向プログラミングの要となる仕組みで、プログラムを効率的かつ再利用しやすく作るための重要な要素です。
この記事では、C++のクラスについて、初心者にもわかりやすく解説します!
クラスとは?C++における設計図
C++におけるクラスとは、データ(変数)と機能(関数)をひとつにまとめた構造のことです。
もっと簡単に言うと、「クラス=オブジェクトを作るための設計図」です。たとえば「車」というクラスを作れば、「スバル」や「トヨタ」といった個別の車オブジェクトをそこから作ることができます。
クラスを使うことで、現実世界のモノや概念をプログラムで表現しやすくなります。
クラスの基本構造
class クラス名 {
private:
// 外部からアクセスできないデータ
public:
// 外部からアクセスできるデータや関数
};
private
:クラスの外からはアクセスできない(内部でのみ使用)
public
:クラスの外からでもアクセス可能(呼び出しやすい)
【実例】車(Car)クラスを作ってみよう
#include <iostream>
using namespace std;
class Car {
private:
string name;
int speed;
public:
Car(string carName) {
name = carName;
speed = 0;
}
void accelerate() {
speed += 10;
cout << name << " のスピードは " << speed << " km/h になりました。" << endl;
}
void brake() {
speed -= 5;
if (speed < 0) speed = 0;
cout << name << " のスピードは " << speed << " km/h になりました。" << endl;
}
int getSpeed() {
return speed;
}
};
クラスの使い方(オブジェクトの生成)
int main() {
Car myCar("スバル");
myCar.accelerate();
myCar.brake();
return 0;
}
クラスの構成要素を詳しく解説
要素名 | 説明 |
メンバ変数 | クラス内で管理されるデータ(例:name, speed) |
メンバ関数 | クラスの動作(例:accelerate(), brake()) |
コンストラクタ | オブジェクト生成時に呼ばれる初期化関数 |
デストラクタ | オブジェクト削除時に呼ばれる後処理関数 |
アクセス修飾子 | public , private , protected などでアクセス範囲を制御 |
クラスを使う5つのメリット
- 再利用性が高い
一度作成したクラスは、複数の場面で何度でも使えます。
- 可読性・保守性が向上
関連する機能やデータが一つのまとまりになり、見やすくなります。
- カプセル化(情報隠蔽)
不要な内部構造を隠し、外部からは操作だけを提供することで安全に。
- 継承が使える
共通部分を親クラスにまとめ、子クラスで拡張可能に。
- 多態性(ポリモーフィズム)
同じ関数名でも異なる動作をさせられる、柔軟な設計が可能。
まとめ
C++のクラスは、データと処理をひとまとめにし、実世界をプログラムで表現するための強力なツールです。初心者のうちは難しそうに感じるかもしれませんが、使いこなせるようになると、より効率的で安全なプログラムが作れるようになります。
まずは簡単なクラスを作って、実際にオブジェクトを動かしてみるところから始めてみましょう!