C++におけるOOP入門
CoddyのC++ジャーニー「オブジェクト指向プログラミング」セクションの一部。レッスン 5/104。
オブジェクト指向プログラミングでは、データと振る舞いをまとめたクラスにコードを整理します。
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!class は構造を定義します。つまり、どのようなデータを保持し、どのような操作を実行できるかを定義します。オブジェクトは、作成して使用する具体的なインスタンスです。public: の下にある members には、どこからでもアクセスできます。
チャレンジ
簡単publicメンバーとメソッドを持つDogクラスを作成してください:
- publicメンバー:
name(string)とage(int) bark():"<name> says Woof!"を返しますinfo():"<name> is <age> years old"を返します
自分で試してみよう
#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;
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
オブジェクト指向プログラミングのすべてのレッスン
3コンストラクタとデストラクタ
デフォルトコンストラクタパラメータ付きコンストラクタコピーコンストラクタムーブコンストラクタコンストラクタ初期化リスト委譲コンストラクタデストラクタ徹底解説Rule of Three / Five / Zero復習 - Stringクラス6演算子オーバーロード
演算子オーバーロード入門算術演算子のオーバーロード比較演算子のオーバーロードストリーム演算子代入演算子のオーバーロード[] と () の演算子オーバーロード型変換演算子復習 - Matrixクラス自分で練習してみよう: C++オンラインコンパイラ