本講義はC++の基礎〜応用を完全マスターするコースです。HelloWorld〜クラス・オブジェクト指向までを10時間以上の動画で学んでいきます。
環境構築、基本的な構文、ポインタ、クラス、継承・カプセル化、多態性、コンストラクタ、STL、エラー処理など、C++の基礎をこの動画1本で学ぶことができます。
■なぜこのコースを作ったか?
C++が全てのプログラミング言語の基礎とも呼べる言語だからです。
メモリ管理のような低レイヤの部分〜オブジェクト指向を使った大規模開発まで、C++を使えばほとんどのことはできます。Webアプリ、ゲーム開発、自動運転、組み込み開発、ネットワークシステム、機械学習、競技プログラミングなど、ありとあらゆる場面でC++は使われています。
とはいえ、C++は数あるプログラミング言語の中でも最も難解と呼ばれています。C++では開発を効率的に行うため、たくさんの機能が新たに登場しています。
・基礎的な構文の仕組みが難しい
・学ぶべきことが多すぎて、どれを使ったら良いのかわからない
・クラス、オブジェクト指向で挫折してしまった
という悩みもよく聞きます。
この動画ではそんな難解と呼ばれるC++を完全攻略していきます。C++を学ぶことで活躍の幅を広げ、レベルアップを目指していきましょう。
■本講義の特徴
1、クラス・オブジェクト指向に力を入れて解説
2、そもそもなぜ?という疑問を大切にしている
特に力を入れて解説したのが、クラス・オブジェクト指向についてです。大規模開発をする上で必須の概念となっていますが、このあたりで挫折してしまう方も多いのではないでしょうか。というのも、継承・多態性・コンストラクタ・エラー処理など難しい仕組みがたくさん出てきます。
・基礎的な構文はわかるけど、オブジェクト指向で挫折してしまった
・カプセル化、継承、多態性の使い所がわからない
・学ぶべきことが多すぎて、理解が追いつかない
私自身、クラス・オブジェクト指向でかなり苦労をしてきました。そんな初学者の方に向けて、オブジェクト指向の仕組みを徹底解説しています。全てのトピックを必ず目の前で一緒にコードを書きながら解説していきます。ゼロから一緒にコードを書くスタイルを取ることで、挫折させない講義を目指しました。
また本講義は『そもそもなぜ?』という疑問を大切にしています。
・スライドで話をするだけ
・名前と機能をひたらすら列挙
・いきなり技術の説明に入る
といった内容は避けました。それだとたくさんのことを学んだは良いモノの、何がポイントか分からなくなってしまいます。
そこで、なぜ必要なのか?なぜ生まれたのか?という疑問を大切にします。技術が生まれた背景・理由が分かっていなければ、応用力が身につかないからです。
例えばクラスを説明するのにも、データ型という根本から学んでいきます。少し遠回りかもしれませんが、1つ1つ知識を抑えてステップアップしていきます。
■最後に..
私自身、C++の学習にはとても苦労をしてきました。特にクラス・オブジェクト指向は難しくて、本当に何度も挫折しました。
・なんでこの技術は必要なんだろう?
・なぜこういうコードの書き方をするんだろう?
・このコードサラッと書かれてるけど、どんな仕組みなんだろ?
という疑問に何回も悩まされてきました。技術書・ネット記事・動画などを調べながら、苦労をして学んできた経験があります。
そんな初心者の頃の私が『こんな講義があったら良いな..』と思えるコースを目指しました。みなさんの勉強のお役に立てれば幸いです。最後までお読み下さり、ありがとうございました。
※)セクション9:ポインタ、セクション10:構造体については、C言語を使って解説をしております。基本的な仕組みはC++と同じですがご注意下さい。