メインコンテンツにスキップ
モジュール 4 · レッスン 1 / 2コース内の 9/18~12 min
モジュールのレッスン (1/2)

クラスとオブジェクト

オブジェクト指向プログラミング (OOP) は、C++ の中核パラダイムです。これにより、データと関数を クラス と呼ばれる単一のエンティティにグループ化できます。

クラスは設計図として機能し、オブジェクトはそのクラスの具体的なインスタンスです。

class の基本構文

C++ では、class キーワードを使用します。他の言語とは異なり、C++ ではクラス定義はセミコロン ; で終わる必要があります。

C++
#include <iostream>
#include <string>

class Player {
    // By default, all members of a class are private
private:
    std::string name;
    int score = 0;

public:
    // Public methods to access or modify private data
    void setName(std::string newName) {
        name = newName;
    }

    void addScore(int points) {
        score += points;
    }

    void display() {
        std::cout << name << " has " << score << " points!" << std::endl;
    }
};

int main() {
    Player p; // Creating an object of type Player
    p.setName("Marco");
    p.addScore(15);
    p.display();
    return 0;
}

アクセス指定子: public および private

カプセル化は、オブジェクトの内部実装の詳細を非表示にし、制御されたインターフェイスのみを公開することで構成されます。

C++ は、アクセス指定子を使用してこのコントロールを管理します。

  • private: メンバーは、クラス自体のメンバー関数内でのみアクセス可能です。
  • private は、クラスのデフォルトのアクセス レベルです。
  • public: メンバーはクラス外のどこからでもアクセスできます。

自分で試してみてください

運動#cpp.m4.l1.e1
試行回数: 0読み込み中…

幅と高さの 2 つのプライベート整数メンバーを含む Rectangle という名前のクラスを定義します。これらを設定するパブリック メソッド void setDimensions(int w, int h) と、幅 * 高さを返すメソッド int getArea() を追加します。メインでは、Rectangle を作成し、その寸法を 5 と 4 に設定し、領域を印刷します。

エディターを読み込み中…
ヒントを表示

アクセス指定子「private:」と「public:」を使用します。中括弧の後にセミコロン `;` を使用してクラスを閉じることを忘れないでください。

3 回の試行後に解決策が利用可能になります

運動#cpp.m4.l1.e2
試行回数: 0読み込み中…

プライベート メンバー数が 0 に初期化された Counter という名前のクラスを定義します。パブリック メソッド void increment() と int getCount() を追加します。 main では、Counter オブジェクトを作成し、それを 2 回インクリメントし、値を出力します。

エディターを読み込み中…
ヒントを表示

C++ では、最新の初期設定をクラス内で実行できます: `int count = 0;`。

3 回の試行後に解決策が利用可能になります