====== 🎓 第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 クラスへ)。