====== 🎓 第1章 クラスを作ってみよう:Rectangleクラス ======
===== 🏁 学習目標 =====
* class の基本的な書き方を理解する
* 「データ(変数)と処理(関数)をまとめる」考え方を体験する
* main() 関数でクラスを使ってオブジェクトを生成し、メンバ関数を呼び出す方法を学ぶ
----
===== 🧱 クラスとは何か =====
C++ の **クラス(class)** は、「**データと処理をひとまとめにした設計図**」です。
たとえば「長方形」を表したい場合、幅や高さといった **データ(メンバ変数)** と、
面積を求めるといった **処理(メンバ関数)** を一緒にできます。
|< 50% 25% 25%>|
^ 用語 ^ 意味 ^
| メンバ変数 | そのオブジェクトが持つ情報(状態) |
| メンバ関数 | そのオブジェクトができる操作(動作) |
----
===== 💡 クラスの基本構文 =====
class クラス名 {
public:
// メンバ変数
// メンバ関数
};
''public:'' は「外からアクセスできる」という意味です。
最初のうちはすべて ''public'' の中に書いてOKです。
----
===== 🧮 例題:長方形の面積を求めるクラス =====
**目的:** クラス構文の基本を理解し、メンバ変数とメンバ関数を使えるようになる。
#include
using namespace std;
class Rectangle {
public:
double width;
double height;
double getArea() {
return width * height;
}
};
int main() {
Rectangle rect;
rect.width = 3.0;
rect.height = 4.0;
cout << "Area = " << rect.getArea() << endl;
}
**実行結果**
Area = 12
**ポイント**
* ''class'' は設計図。実際に動くのは ''rect''(オブジェクト)。
* ''rect.width'' のように ''ドット演算子'' でアクセス。
* 関数 ''getArea()'' は、オブジェクトの中のデータを使って処理を行う。
----
===== 🔍 イメージ図 =====
Rectangle rect
├─ width = 3.0
├─ height = 4.0
└─ getArea() → width * height = 12
----
===== 🧩 練習問題(第1問) =====
**自分でクラスを作って試してみよう!**
次の仕様で **新しいクラスを作成** し、''面積''だけでなく''周の長さ''も計算できるようにしなさい。
// クラス名: Rectangle
// - メンバ変数: width, height(double)
// - メンバ関数:
// 1. getArea() … 面積を返す
// 2. getPerimeter() … 周の長さを返す(公式: 2*(width + height))
// main() で幅3.0・高さ4.0の長方形を作り、
// 面積と周の長さを両方表示せよ。
// 出力例:
// Area = 12
// Perimeter = 14
**ヒント**
* 関数は2つ作る。
* 周の長さは ''2*(width + height)'' で求められる。
* 例題の書き方を参考に、main関数で呼び出してみよう。
----
===== 🎯 まとめ =====
|< 50% 25% 25%>|
^ 覚えるポイント ^ 内容 ^
| クラスは「設計図」 | データと処理をまとめる |
| オブジェクト | クラスから作られた実体 |
| ''.''(ドット)演算子 | メンバにアクセスする |
| メンバ関数 | オブジェクトの動作を表す |
----
📘 **次回のステップ**
→ コンストラクタを導入して、「作ると同時に値を入れる」ことを練習します(第2問:Student クラスへ)。