Menu
Coddy logo textTech

C++ における OOP 入門

CoddyのC++ジャーニー「オブジェクト指向プログラミング」セクションの一部 — レッスン 5/104。

オブジェクト指向プログラミングは、データと振る舞いをひとまとめにするクラスにコードを整理します。

パブリックメンバを持つシンプルなクラス

class Dog {
public:
    std::string name;
    int age;
    
    std::string bark() {
        return name + " says Woof!";
    }
};

オブジェクトの作成と使用

Dog dog;
dog.name = "Buddy";
dog.age = 3;

std::cout << dog.bark() << std::endl;

出力:

Buddy says Woof!

クラスは構造(どのようなデータを保持し、どのようなアクションを実行できるか)を定義します。オブジェクトは、作成して使用する特定のインスタンスです。public: の下にあるメンバは、どこからでもアクセスできます。

challenge icon

チャレンジ

簡単

公開メンバとメソッドを持つDogクラスを作成してください:

  • 公開メンバ:name (string) と age (int)
  • bark()"<name> says Woof!"を返します
  • info()"<name> is <age> years old"を返します

チートシート

オブジェクト指向プログラミングは、データと振る舞いをひとまとめにしたクラスにコードを整理します。

クラスは構造、つまりどのようなデータを保持し、どのようなアクションを実行できるかを定義します。オブジェクトは、作成して使用する具体的なインスタンスです。

公開(public)メンバを持つクラスの定義:

class Dog {
public:
    std::string name;
    int age;
    
    std::string bark() {
        return name + " says Woof!";
    }
};

オブジェクトの作成と使用:

Dog dog;
dog.name = "Buddy";
dog.age = 3;

std::cout << dog.bark() << std::endl;
// 出力: Buddy says Woof!

public: の下にあるメンバは、どこからでもアクセスできます。

自分で試してみよう

#include <iostream>
#include "Dog.h"

int main() {
    std::string name;
    int age;
    std::getline(std::cin, name);
    std::cin >> age;
    
    Dog dog;
    dog.name = name;
    dog.age = age;
    
    std::cout << dog.bark() << std::endl;
    std::cout << dog.info() << std::endl;
    return 0;
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

オブジェクト指向プログラミングのすべてのレッスン