プログラミングチュートリアル - ページ 3

 

OOP コンストラクター - 知っておく必要があるコンストラクターの種類 (基礎から習得まで)



OOP コンストラクター - 知っておく必要があるコンストラクターの種類 (基礎から習得まで)

このビデオでは、さまざまな種類のコンストラクター、その目的、およびコンストラクターがプログラミングに不可欠な理由について説明します。例を示し、コンストラクターのバックグラウンドの仕組みについて説明します。しかし、本題に入る前に、私が長年使用している PBS Studio というツールをお勧めしたいと思います。これは、バグを追跡し、コードの品質を向上させるのに役立つ強力な静的コード アナライザーです。さまざまな IDE と簡単に統合でき、C、C++、C#、Java などの言語をサポートします。ダウンロード リンクを見つけたり、学生であれば無料で入手する方法を見つけることもできます。さて、ビデオに戻りましょう。

まず、パブリック メンバー「firstName」、「lastName」、「age」、および「email」を含む「User」というクラスを作成しましょう。現在、作成したユーザーごとにこれらのプロパティに値を手動で割り当てています。ただし、このアプローチはユーザー数が増加するにつれて現実的ではなくなります。

代わりに、コンストラクターを使用してより良いソリューションを検討します。コンストラクターはオブジェクトの構築に使用され、オブジェクトのプロパティを初期化するプロセスを自動化します。まず、例を通してコンストラクターのバックグラウンドの仕組みを説明します。

デモの目的で、2 番目のユーザーを削除し、最初のユーザーの情報を出力してみましょう。プログラムを実行すると、出力には、firstName、lastName、email には空の値が表示され、年齢には大きいか小さい数値が表示されることがわかります。この問題が発生する理由と、エラーがないことを調べます。

この動作の背後にある理由は、C++ によって提供されるデフォルトのコンストラクターです。これは、年齢に見られる大きな数値などのデフォルト値でプロパティを初期化します。ただし、「test」などの単純な変数を初期化せずに作成すると、単純な型にはデフォルトのコンストラクターがないため、エラーが発生します。

それでは、コンストラクターの特徴を見てみましょう。まず、コンストラクターはクラスと同じ名前を持ち、戻り値の型がありません。次に、クラスのパブリック セクションに配置する必要があります。第三に、デフォルトのコンストラクターにはパラメーターがありません。 4 番目に、デフォルトのコンストラクターを作成しない場合、C++ は自動的にデフォルトのコンストラクターを生成します。 5 番目に、パラメーター化されたコンストラクターはパラメーターを受け取り、オブジェクトのプロパティを初期化します。最後に、そのクラスのオブジェクトが作成されると、デフォルトのコンストラクターが自動的に呼び出されます。

プロパティにデフォルト値を割り当てて、独自のデフォルト コンストラクターを実装しましょう。この変更により、ユーザーを作成するたびに、デフォルトのコンストラクターが呼び出されます。ここで、ユーザー情報を印刷すると、割り当てたデフォルト値が表示されます。

次に、2 番目のタイプのコンストラクターであるパラメータ化されたコンストラクターを見てみましょう。デフォルトのコンストラクターとは異なり、パラメーター化されたコンストラクターは特定の値をパラメーターとして受け入れ、それらを使用してオブジェクトのプロパティをインスタンス化します。 firstName、lastName、および age のパラメータを取るパラメータ化されたコンストラクタの例を示します。

これらのパラメーターを使用すると、指定された値を対応するプロパティに割り当てることができます。これにより、オブジェクトの作成中に特定の情報を持つユーザーを直接作成できるようになります。

ここでは、コンストラクターの基本とその使用法について説明します。今後のビデオでさらに多くの例や洞察が得られることに注目してください。

OOP Constructors - Types of Constructors You Need to Know (Basics to Mastery)
OOP Constructors - Types of Constructors You Need to Know (Basics to Mastery)
  • 2023.03.21
  • www.youtube.com
📚 Learn how to solve problems and build projects with these Free E-Books ⬇️C++ Lambdas e-book - free download here: https://bit.ly/freeCppE-BookEntire Objec...
 

C++ のフレンド関数とクラス (初心者向けプログラミング)



C++ のフレンド関数とクラス (初心者向けプログラミング)

このビデオでは、C++ のフレンド関数とフレンド クラスについて説明できることを嬉しく思います。プログラミングにおけるこの友情の概念は、実生活における友情と似ています。友達が他の人がアクセスできないあなたの人生のプライベートな領域にアクセスできるのと同じように、オブジェクト指向プログラミングのフレンド関数とフレンド クラスは、クラスのプライベートな保護されたメンバーにアクセスできます。

このビデオでは、フレンド機能とフレンド クラスをいつどのように使用するかを学びます。デモのために、Visual Studio Community を使用します。また、Visual Assist と呼ばれる優れた拡張機能も紹介します。ダウンロードリンクは以下の説明にあります。 Visual Assist は、多くのプロの開発者が、特に大規模なプロジェクトや Unreal Engine などのエンジンを使用したゲーム開発に使用しているスマート コーディング アシスタントです。コード補完を強化し、リファクタリングのためのスマートな提案を提供し、コード スニペットを提供し、プロジェクト内のナビゲーションと検索を改善します。

さて、フレンド機能の話に入りましょう。この概念を説明するために、問題を作成し、フレンド機能を使用して解決してみましょう。 3 つの辺がすべて同じ長さの三角形を表す「EquilarateTriangle」というクラスを作成します。このクラスには、辺の長さ、円周、面積のプライベート変数があります。また、辺の長さを設定し、そのメソッド内で円周と面積を計算するパブリック セッター メソッドも追加します。

ただし、クラス外のプライベート メンバーにアクセスしようとすると、エラーが発生します。解決策の 1 つは、プライベート メンバーをパブリックにするかパブリック ゲッターを作成することですが、そうするとメンバーは全員に公開されてしまいます。代わりに、フレンド機能を使用して、選択的にアクセスを許可できます。三角形の円周と面積を出力する「PrintResults」というグローバル関数を作成します。この関数を Equi LateralTriangle クラスのフレンドとして宣言することにより、プライベート メンバーにアクセスできるようになります。

ただし、フレンド関数を慎重に選択し、カプセル化を維持するために過度の使用を避けることを忘れないでください。さらに、C++ では、フレンド クラスを使用することもできます。 「PrintResults」関数を「宿題」というクラス内に移動し、パブリックなメンバー関数にすると、「宿題」を「EquilarateTriangle」のフレンドクラスとして宣言できます。このようにして、「宿題」クラスは「EquilarateTriangle」のプライベート メンバーと保護されたメンバーにアクセスできます。

プログラミングにおける友情は相互的なものでも、遺伝的なものでもないことに注意することが重要です。フレンド関数とフレンド クラスは慎重に使用してください。また、継承と演算子のオーバーロードには、フレンド関数の一般的な使用例も含まれることに注意してください。詳細と関連する宿題については、演算子のオーバーロードに関する私のビデオ (説明内にリンク) をご覧ください。

このビデオが、プログラミング プロジェクトでフレンド関数とフレンド クラスを理解して活用するのに役立つことを願っています。さらにエキサイティングなコンテンツにご期待ください。また、Visual Studio の Visual Assist 拡張機能もぜひチェックしてください。

Friend functions and classes in C++ (Programming for beginners)
Friend functions and classes in C++ (Programming for beginners)
  • 2021.12.21
  • www.youtube.com
📚 Learn how to solve problems and build projects with these Free E-Books ⬇️C++ Lambdas e-book - free download here: https://bit.ly/freeCppE-BookEntire Objec...
 

プログラミングにおけるデストラクター: 実践的なデモンストレーション



プログラミングにおけるデストラクター: 実践的なデモンストレーション

このビデオでは、プログラミングにおけるデストラクターについて説明します。デストラクターとは何か、その使用方法、いつ使用するかを学びます。最後に特別なサプライズがあるので、必ずビデオ全体をご覧ください。デストラクターについて詳しく説明する前に、コンストラクターについて理解することが重要です。コンストラクターに詳しくない場合は、ここと説明にリンクされている私の以前のビデオをご覧ください。

デストラクターは、オブジェクトが破棄されるときに呼び出される特別な関数です。これらは、オブジェクトが保持しているメモリやファイルなどのリソースの解放など、必要なクリーンアップ タスクを実行します。これらのリソースを解放しないと、パフォーマンスや安定性が低下し、メモリ リークが発生する可能性があります。

デストラクターについて説明する前に、私が愛用している PBS Studio というツールを紹介したいと思います。これは、バグのないより良いコードを作成するのに役立つ静的コード アナライザーです。コードを分析して潜在的な問題やバグがないか確認し、本番環境に入る前にエラーを検出して時間とコストを節約します。一般的な IDE との統合が簡単で、複数のプログラミング言語をサポートしています。説明内のリンクからダウンロードして、無料で試すことができます。学生の場合は、ウェブサイトで無料オプションを確認してください。

それでは、デストラクターについて詳しく見ていきましょう。デストラクターは、クラス名と同じ名前の前にチルダ (~) が付いている特別な関数です。戻り値の型がなく、パラメーターも受け取らないため、クラスの public セクションに配置する必要があります。クラスごとにデストラクターは 1 つだけ存在できます。

デストラクターを説明するために、「title」と「author」という 2 つのプロパティを持つ「Book」というクラスを作成しましょう。コンストラクターとデストラクターも作成します。デストラクターは、オブジェクトが保持しているリソースの割り当てを解除する必要があることに注意してください。

コンストラクター内で、渡されたパラメーターを対応するプロパティに割り当てます。デストラクター内で、デストラクターが特定のブックに対して呼び出されたことを示すメッセージを出力します。

次に、コンストラクターとデストラクターがいつ呼び出されるかを確認するために、いくつかのブック オブジェクトを作成してみましょう。プログラムをデバッグし、呼び出し順序を観察します。

クラスにポインターが含まれていない場合、コンパイラーはメモリーの割り当て解除を自動的に処理します。ただし、ポインターを使用している場合は、メモリ リークを避けるために、デストラクターでメモリの割り当てを手動で解除する必要があります。配列には必ず「delete[] arrayName」を使用し、割り当て解除後にポインタを nullptr に設定してください。

このビデオが、デストラクターとリソース管理におけるデストラクターの重要性を理解するのに役立つことを願っています。次回のビデオでは、コピー コンストラクターについて説明しますので、楽しみにしていてください。

Destructors in Programming: Practical Demonstration
Destructors in Programming: Practical Demonstration
  • 2023.03.29
  • www.youtube.com
📚 Learn how to solve problems and build projects with these Free E-Books ⬇️C++ Lambdas e-book - free download here: https://bit.ly/freeCppE-BookEntire Objec...
 

C++ コピー コンストラクター (初心者向けチュートリアル + 実践的な例)



C++ コピー コンストラクター (初心者向けチュートリアル + 実践的な例)

皆さんこんにちは、私のチャンネルへようこそ。このビデオでは、初心者にとって重要だがわかりにくいトピックであるコピー コンストラクターについて説明します。このビデオを見る前に、デフォルトのコンストラクターやパラメーター化されたコンストラクター (説明内のリンク) など、さまざまなタイプのコンストラクターに関する私の以前のビデオを必ずご覧ください。また、このトピックをよりよく理解するのに役立つように、ポインターと動的配列に関する私のビデオ (説明内のリンク) もチェックしてください。

このビデオでは、コピー コンストラクターについて知っておくべきことをすべて説明します。初心者は多くの場合、コピー コンストラクターの背後にある概念は理解していますが、コピー コンストラクターをいつどのように使用するか、また、発生する可能性のあるバグやエラーを理解するのに苦労します。これらすべての側面を段階的に説明します。

前回のビデオのコードを調べることから始めましょう。タイトル、著者、および「rates」というポインタなどのプロパティを持つ「Book」というクラスを作成しました。 「評価」ポインタは、ユーザーが書籍の評価を入力できる動的配列を表します。配列サイズを追跡するための「レートカウンター」もあります。ポインターと動的配列に詳しくない場合は、このトピックに関する私のビデオ (説明内のリンク) を見ることをお勧めします。

Book クラスのパラメータ化されたコンストラクターを実装しました。これは、タイトルと著者をパラメータとして受け取り、それらの値に基づいて書籍オブジェクトを作成します。また、コンストラクターによって割り当てられたメモリを解放するために重要なデストラクターも含めました。 PVS-Studio などのコード アナライザーを使用して、コード内の隠れたエラーや弱点を検出することが重要です。個人的には、エラーを見つけて修正するための提案を提供するのに効果的であるため、PVS-Studio を使用することをお勧めします。説明内のリンクを使用して無料でダウンロードできます。

ここで、コピー コンストラクターのトピックに焦点を当てましょう。コピー コンストラクターの目的は、既存のオブジェクトに基づいて新しいオブジェクトを作成することです。オブジェクトのコピーを作成し、それを使用して新しいオブジェクトを作成できます。デフォルトでは、C++ はデフォルトのコピー コンストラクターを提供します。ただし、ポインターを使用する場合は、エラーを避けるためにカスタム コピー コンストラクターを作成する必要があります。

カスタム コピー コンストラクターがない場合、ポインターを使用すると例外やエラーが発生する可能性があります。次のシナリオを考えてみましょう。「Book1」のデータに基づいて「Book3」を作成したいと考えています。 「Book1」のプロパティをすべてコピーして「Book3」を作成したいと考えています。ここでコピー コンストラクターが登場します。

コピー コンストラクターを作成するには、次のルールに従います。

  1. これはクラスの public セクションで宣言する必要があります。
  2. 戻り値の型はありません (void さえありません)。
  3. その名前はクラス名と一致する必要があります。
  4. これは、元のオブジェクトを表す同じクラス型のパラメータを受け取ります。

コピーコンストラクターを作成しましょう。コピー コンストラクターでは、元のオブジェクトを定数参照 (const Book&original) として受け取ります。これにより、コピー コンストラクター内の元のオブジェクトが変更されるのを防ぎます。

ここで、初心者がコピー コンストラクターを作成するときに犯しやすい間違いに対処しましょう。間違いは、新しいメモリを割り当てて内容をコピーするのではなく、ポインタを直接コピーすることにあります。ポインタをコピーすると、オリジナルとコピーの両方が同じメモリ位置を指します。その結果、デストラクターが呼び出されるときに、メモリーの解放が 2 回試行され、エラーが発生します。

この問題を解決するには、コピー用に新しいメモリを割り当て、元のポインタの内容をコピーする必要があります。ポインターを直接割り当てる代わりに、新しい動的配列を作成して要素をコピーします。これにより、オリジナルとコピーが別々のメモリ位置を持つことが保証されます。

これらのガイドラインに従うことで、メモリ関連のエラーを回避する正しいコピー コンストラクターを作成できます。

この説明でコピー コンストラクターの概念とその重要性が明確になれば幸いです。

C++ Copy constructors (beginner-friendly tutorial + practical examples)
C++ Copy constructors (beginner-friendly tutorial + practical examples)
  • 2023.04.19
  • www.youtube.com
This is an OOP tutorial where I'll teach you about copy constructors in C++. After watching this video, you'll learn what is the purpose of copy constructors...
 

自分でコーディングしましょう!テトリス - ゼロからのプログラミング (迅速かつシンプルな C++)



自分でコーディングしましょう!テトリス - ゼロからのプログラミング (迅速かつシンプルな C++)

こんにちは!今日、私たちは独自のバージョンのテトリスを作成するというエキサイティングな旅に乗り出します。コーディングについて詳しく説明する前に、これから構築するものについて簡単に説明しましょう。

ご覧のとおり、画面上には古典的なテトリスの形が表示されています。コーディングの力のおかげで、これらの形状を回転できるようになります。ゲームには衝突検出が含まれており、ピースが互いに正しく相互作用することが保証されます。ランダムなピースを戦略的に配置してラインを完成させると、ラインが消え、それに応じてスコアが増加します。ただし、注意を怠ってピースの山が一番上に到達すると、ゲームオーバーになります。

ここで、なぜグラフィックスではなくゲーム エンジンに焦点を当てるのか疑問に思われるかもしれません。美学は重要であり、プレイヤーを魅了する可能性がありますが、ゲームの本当の本質はエンジンにあります。エンジンは、ゲームプレイ、ロジック、ルール、チャレンジなどの実装を担当する部分です。グラフィック エンジンは後からいつでも追加でき、ゲームを美しくするためにアーティストを招くこともできます。ただし、ゲーム開発を真に理解するには、ゲーム エンジン構築の基礎を理解する必要があります。

始めるには、いくつかのゲームアセットが必要です。テトリスでは、これらのアセットは「テトロミノ ブロック」と呼ばれるさまざまな形状です。これらの形状を文字列として保存すると、視覚化が容易になります。テトリスで使用される一般的な図形は 7 つあり、空白スペースにはピリオド (.)、図形自体には大文字の X などの文字を使用してそれらを表します。これらの文字を並べることで、形状を視覚的に表現した文字列を作成します。

ここで、2D 形状を表すために多次元配列を使用する代わりに、単次元配列を使用し、単純な数学的計算を使用してインデックスを操作します。このアプローチにより、形状の回転と反射をより効率的に処理できるようになります。数式を使用して、各回転に適切なインデックスを決定します。たとえば、X 座標を 4 で乗算すると、90 度の回転に必要なインデックスを取得できます。この手法を使用すると、考えられる形状のバリエーションごとに個別のアセットを作成する必要がなくなります。

テトロミノ ブロックとは別に、競技場も必要です。幅と高さの変数を使用してフィールドの寸法を定義します。この場合、フィールド サイズは幅 12 セル、高さ 18 セルになります。競技場の要素を表すために、符号なし文字の配列を使用します。各セルには、空のスペース、形状の一部、境界壁などの内容を示す値が割り当てられます。

ゲームを視覚化するために、コマンド プロンプトを画面バッファとして利用します。コマンド プロンプト ウィンドウのサイズを含む配列を作成することで、その上にゲーム要素を描画できます。特定の文字を使用して、形状、空きスペース、境界壁などのゲームのさまざまな要素を表現します。次に、配列の内容をコマンド プロンプト画面に表示します。

さて、ゲームループについて話しましょう。ゲーム ループは、ゲーム要素の順序を制御するため、あらゆるゲーム エンジンの重要なコンポーネントです。テトリスの場合、ゲーム ループはタイミング、ユーザー入力、ゲーム ロジック、出力レンダリングを処理します。

さまざまなシステム間で一貫したゲームプレイを確保するには、タイミングが非常に重要です。コンピューターの速度に関係なく、ゲームが同じペースで実行されるようにしたいと考えています。タイミング メカニズムを使用して、図形の落下速度とゲームの更新を制御します。

次に、ユーザー入力について説明します。ここではテトリスの単純なコマンドライン バージョンを作成しているため、イベントベースの入力には依存しません。代わりに、矢印キーやその他の指定されたキーなどの基本的なユーザー入力を処理します。

このコードでは、ゲームのキーボード入力処理を実装します。特に 4 つのキー (左矢印、右矢印、下矢印、およびゲーム ピースを回転するための「Z」キー) に焦点を当てます。

ユーザーが押したキーの現在の状態を取得するには、「非同期キー状態の取得」関数を利用します。キーの状態を表す配列を反復処理することで、各キーが現在押されているかどうかを判断できます。この関数はブール値を返します。キーが押されている場合は true、押されていない場合は false を返します。特定のキーの状態を確認するには、各キーの仮想キー コードを表す定数文字列式を使用します。

これら 4 つのキーの状態をチェックすることで、各キーが押されているかどうかを示す true または false の値を保持する配列を作成できます。これによりプロセスが簡素化され、キーの現在の状態を表す配列が得られます。

例として左キーを考えてみましょう。ユーザーが左キーを押したとき、ゲームの駒が現在の位置の左側に収まるかどうかを確認する必要があります。これを行うには、現在のピース、その回転、および現在の X 位置を考慮する「does Piece Fit」と呼ばれる関数を利用します。現在の X 位置から 1 を引くことで、ピースが左側に収まるかどうかを判断できます。適合する場合は、それに応じて現在の X 位置を更新します。

同様に、右のキーについても同様のチェックを実行して、ピースが現在の位置の右側に収まるかどうかを確認します。可能であれば、それに応じて現在の X 位置を更新します。

ユーザーが下キーを押したとき、ピースの垂直方向の動きを処理する必要があります。競技フィールドの左上の位置は常に (0, 0) であるため、Y 位置をインクリメントするだけで駒を下に移動できます。駒を左右または下に移動しても競技フィールドの境界内に収まるようにチェックを実行します。

コードを最適化するには、ネストされた if ステートメントを論理 AND 演算子に置き換えます。これによりコードが簡素化され、簡潔さが向上します。さらに、条件ステートメントを利用して、条件の結果に基づいて現在の X 位置に 1 を加算または減算し、コードをさらに合理化します。ユーザーが「Z」キーを押したときにピースの回転を処理するときにも、同じ最適化が適用されます。

テトリスでは、ゲームは重力をシミュレートして、定期的にピースを数十分 1 秒ごとに下に移動させます。これは、ゲーム ティック カウンターを利用することで実現します。最初はピースがゆっくりと落ちますが、ゲームが進むにつれて、各ピースが落ちるまでの時間が短縮され、ゲームがより速く、より挑戦的になります。ゲーム ティックを蓄積し、現在の速度と比較することで、駒を強制的に下げるタイミングを決定します。これにより、ピースが一定の間隔で落下し、ゲーム内に重力の効果が生じます。

現在の駒を競技フィールドにロックするには、テトロミノ配列の値でフィールド配列を更新します。これは、テトロミノ配列の各要素を反復処理し、フィールド配列内の対応する位置を更新することによって行われます。テトロミノ配列内の要素が「X」の場合、フィールド配列内の対応する値を 1 ずつインクリメントします。これにより、その位置が現在のピースによって占められていることがマークされます。

競技フィールドにラインが形成されたとき、それをプレーヤーに視覚的に示したいと考えています。線を特別なマーカーに置き換えるか、その他の視覚効果を実行して線の完了を示します。

完成したラインを視覚的に示した後、ラインをクリアし、それに応じて競技場を更新する必要があります。競技フィールドの各行を下から順に繰り返し、その行が埋まっているかどうかを確認します。行が埋まっている場合は、そのすべての要素を 0 に設定して行をクリアします。次に、その上にあるすべての行を 1 つ下に移動して、クリアされた行を埋めます。このプロセスは、すべての埋められた行がクリアされるまで繰り返されます。

プレイヤーのスコアを追跡するために、ラインがクリアされるたびにスコアが増加します。スコアはクリアしたライン数に基づくことも、ゲームの設計に応じてより複雑なスコア システムを使用することもできます。

ゲームオーバー条件を処理するには、現在の駒がフィールドの上部の初期位置に収まるかどうかを確認する必要があります。収まらない場合はゲームオーバーとなり、ゲームループを停止するか、必要なゲームオーバーアクションをトリガーします。

最後に、ゲーム ループを処理するために、定期的に更新関数をトリガーするタイマーまたは同様のメカニズムを利用します。この関数は、ユーザー入力のチェック、駒の下への移動、現在のゲーム状態に基づいた必要なアクションの実行など、ゲーム状態の更新を処理します。

要約すると、このコードは、特に矢印キーや「Z」キーなどのキーに焦点を当てた、ゲームのキーボード入力処理を実装します。これらのキーの状態をチェックし、それに応じてゲーム駒の動きを処理し、重力と駒のロックを実装し、完了したラインをクリアし、競技場を更新し、プレイヤーのスコアを追跡し、ゲームオーバー条件をチェックします。ゲーム ループにより、ゲームの状態が定期的に更新され、ダイナミックでインタラクティブなゲームプレイ エクスペリエンスが作成されます。

Code-It-Yourself! Tetris - Programming from Scratch (Quick and Simple C++)
Code-It-Yourself! Tetris - Programming from Scratch (Quick and Simple C++)
  • 2017.04.03
  • www.youtube.com
I mentioned in an earlier video that programming a Tetris clone is a good way to get going with programming as it makes you think about algorithms. Putting m...
 

初心者向け C++ フルコース (10 時間で C++ を学習)


初心者向け C++ フルコース (10 時間で C++ を学習)

これは完全な C++ プログラミング コースです。これは、初心者から上級のプログラミング レベルに引き上げることを目的とした多くの講義で構成されています。後の講義では前の講義の知識が必要になるため、ビデオ全体を視聴することをお勧めします。

コンテンツ:
00:00:00
– コースの目標
00:01:31 – コースを開始する前にこれを行ってください
00:02:41
– C++ の概要 (C++ とは何ですか? C++ でどのような種類のアプリを構築できますか? C++ が作成された理由は何ですか?)
00:06:39 – ソースコード、オブジェクトコード、コンパイラ、アルゴリズムとは何ですか?
00:08:42
- Visual Studio 2019 – 最初のプロジェクトの作成 (セットアップ)
00:11:32 - Visual Studio 2019 の基本の説明と最初の「Hello World」プログラム
00:29:51
- 変数の概要
00:44:36 – 変数の命名規則
00:52:15
– C++ のデータ型と sizeof 演算子の使用方法
01:01:58
- データ型のオーバーフロー
01:05:00 – ASCII テーブルとは何ですか
01:09:50
- 単語を ASCII に暗号化するためのシンプルで楽しいプログラム
01:18:12 - If/else文(奇数/偶数をチェックするプログラムの作成+フローチャート説明)
01:35:52 - ネストされた if/else ステートメント (三角形の種類を決定するプログラム + フローチャートを構築する)
01:55:50 - C++ の演算子 (算術演算子、関係演算子、論理演算子、代入演算子)
02:21:02 - 3 番目の変数の有無にかかわらず、2 つの変数の値を交換する
02:29:20 – BMI 計算アプリケーション + フローチャートを構築する
02:49:55 - 三項 (条件付き) 演算子 (推測ゲーム アプリの構築)
03:01:00 - Switch/case ステートメント パート 1 (電卓アプリのビルド)
03:26:36 - switch/case ステートメント パート 2 (1 か月の日数をチェックするプログラムの構築)
03:39:35
- While ループ パート 1 + 無限ループの例
03:53:39 - While ループ パート 2 (数値の桁を数えるプログラムを構築する)
04:12:39
- While ループ パート 3 (数値の桁を反転するプログラムを構築する)
04:25:25
- Do while ループ (PIN 検証のプログラム)
04:39:09 – While ループと Do While ループの違いは何ですか
04:40:34 - For ループ (数値の階乗を計算するプログラムを構築する)
04:58:12 – ネストされたループ (do while ループと for ループをネスト)
05:11:08 – ネストされた for ループ (九九アプリの構築)
05:21:45 – 長方形を描画するプログラム
05:33:05 – 三角形および逆三角形/逆三角形を描画するプログラム
05:44:30 – 機能の紹介
05:56:02 – パラメータ/引数を持つ関数 (複数およびデフォルト)
06:11:42
- Function return ステートメント (素数をチェックするプログラムの構築)
06:37:39
- 関数のオーバーロード
06:48:06 – ATM アプリを構築する
07:03:03 - 汎用関数とテンプレート
07:14:30 – 再帰と再帰関数
07:30:01
– OOP の概要、クラスとオブジェクトとは
07:42:06
– OOP コンストラクターとクラス メソッド
07:57:10 – OOP カプセル化、GIT: https://github.com/TrueCodeBeauty/EncapsulationCpp
08:08:31 – OOP 継承、GIT: https://github.com/TrueCodeBeauty/InheritanceCpp
08:24:59 – OOP Polymorphisam、GIT: https://github.com/TrueCodeBeauty/PolymorphismCpp
08:40:04 - ポインターの紹介
08:51:14 - ポインターを無効にする
09:06:27 - ポインターと配列
09:19:18
- ポインターを使用して関数から複数の値を返す
09:34:50
- 動的配列、実行時に配列を作成/変更
09:48:35 – 多次元動的配列、二次元配列
10:07:00
- PVS Studio を使用したコード内のエラーの検出
10:17:19 - メモリ リークの説明
10:26:25 - 失敗者
C++ FULL COURSE For Beginners (Learn C++ in 10 hours)
C++ FULL COURSE For Beginners (Learn C++ in 10 hours)
  • 2021.01.11
  • www.youtube.com
This is a full C++ programming course. It consists of many lectures whose goal is to take you from beginner to advanced programming level.I recommend watchin...
 

C++ 関数 (2020) - 関数とは何ですか?


C++ 関数 (2020) - 関数とは何ですか?プログラミングチュートリアル

私のチャンネルの最初の動画へようこそ! C++ の初心者の方は、初心者向けの C++ に関する私のプレイリストを必ずチェックしてください。ここでは、C++ を使用するために理解しておく必要がある重要な概念を見つけることができます。このビデオでは、C++ だけでなくほとんどのプログラミング言語で優れたプログラマーになるために不可欠な C++ 関数について説明します。

始める前に、チャンネルに登録し、ベルのアイコンをクリックして、次のビデオを公開したときに通知を受け取ってください。舞台裏のコンテンツや開発者の実際の生活に興味がある場合は、私のアカウント「CodeBeauty」を通じて Instagram と Twitter をフォローしてください。

さて、関数の話題に入りましょう。関数は、特定の問題を解決したり、特定のタスクを実行したりするためにグループ化されたコードのブロックです。関数内のコードは、関数が呼び出されたときまたは呼び出されたときにのみ実行されます。すべての C++ プログラムには、メイン関数である関数が少なくとも 1 つ含まれています。プログラムの実行は main 関数の最初の行で開始され、最後の行または return ステートメントが見つかったときに終了します (return ステートメントについては、このコースで後ほど説明します)。

独自の関数を作成するには、知っておく必要があることがいくつかあります。まず、関数の戻り値の型を指定する必要があります。ここでは、関数が何も返さないことを意味する「void」戻り値の型を使用します。次に、関数に名前を付けます。括弧内には、関数が受け取る引数またはパラメーターを定義できます。この場合、引数がないため、括弧は空です。最後に、中括弧内に関数の本体を定義します。

この例では、戻り値の型が void で引数のない「function」という関数を作成しました。関数の本体内で、「cout」ステートメントを使用して「Hello from function」を表示し、終了行を追加します。ただし、関数を作成するだけでは、そのコードは実行されません。関数を実行するには、関数を呼び出すか呼び出す必要があります。この例では、メイン関数の「cout」ステートメントの後に、名前の後にかっこを入力して関数を呼び出します。

プログラムをコンパイルして実行すると、「Hello from main」に続いて「Hello from function」という出力が表示されます。これは、main 関数が最初に実行され、その後、作成した関数が呼び出されたときに実行されるためです。

コードを読みやすくするには、関数を個別に宣言して定義することをお勧めします。宣言には戻り値の型、関数名、およびパラメーターが含まれており、main 関数の前に配置する必要があります。関数の本体を含む定義は、main 関数の後に配置されます。こうすることで、他の人がコードを読んでいる場合でも、理解する必要がある特定の関数に簡単に移動できます。

関数を使用するとコードが再利用可能になることに注意してください。同じコードを複数回記述する代わりに、関数内に一度記述しておけば、必要なときにいつでもその関数を呼び出すことができます。これにより、冗長性が軽減され、コードの管理が容易になります。

今後のビデオでは、機能についてさらに詳しく説明します。私のチャンネルを購読し、今後のコンテンツに関する最新情報を受け取るために通知を有効にすることを忘れないでください。ご視聴いただきありがとうございます。次のビデオでお会いしましょう!

C++ FUNCTIONS (2020) - What are functions? PROGRAMMING TUTORIAL
C++ FUNCTIONS (2020) - What are functions? PROGRAMMING TUTORIAL
  • 2020.06.11
  • www.youtube.com
This is the introduction video of the "C++ functions" course. In this video, I'm explaining what are C++ functions, how functions are created, when they're u...
 

C++ 関数 (2020) - 関数のパラメータ/引数 (複数、デフォルト) とは何ですか? プログラミング チュートリアル


C++ 関数 (2020) - 関数のパラメータ/引数 (複数、デフォルト) とは何ですか? プログラミング チュートリアル

こんにちは、みんな!私のチャンネルへようこそ。 C++ の初心者の方は、ここに来ていただければ幸いです。今日のトピックに入る前に、初心者向けの C++ プレイリストをチェックすることを思い出していただきたいと思います。重要な概念をカバーしており、練習に役立つ演習が豊富に含まれています。また、新しいビデオをリリースするたびに通知を受け取るには、チャンネルに登録し、ベルのアイコンをクリックすることを忘れないでください。また、私のソーシャル メディア プロフィール CodeBeauty Instagram や Twitter をフォローして、開発者の生活を覗いてみることもできます。さて、さっそく今日のレッスンに入りましょう。

このビデオでは、C++ 関数のパラメーターまたは引数について説明したいと思います。では、パラメーターと引数とは正確には何でしょうか? C++ 関数に関する私の以前のビデオをまだ見ていない場合は、チェックすることをお勧めします (リンクが提供されています)。場合によっては、関数は特定のタスクを実行するために特定の値または変数を受け取る必要があります。これらの値または変数はパラメータと呼ばれます。

ここで、C++ でパラメーターを受け取る関数を作成する方法を学びましょう。これを行うには、戻り値の型が void の関数を定義します。関数に「introduceMe」という名前を付けます。括弧内に、関数が受け取るパラメーターを指定します。関数の本体は中括弧で囲まれます。

パラメータを定義するには、まずパラメータのタイプを記述し、その後にその名前を記述します。この例では、ユーザーの名前を関数に渡したいため、パラメーターの型は文字列になります。パラメータに「name」という名前を付けます。次に、この関数は「My name is」とその後に指定された名前を出力してユーザーを紹介します。

関数を呼び出すには、その名前「introduceMe」を使用するだけです。この関数には引数 (name パラメーター) が必要なので、関数を呼び出すときに値を渡す必要があります。この場合、引数として「Selena」という名前を渡しましょう。

プログラムを実行すると、関数は指定された名前のユーザーを正常に紹介します。予想どおり「私の名前はセレナです」と印刷されます。

複数のユーザーを導入したい場合は、別の引数を指定して関数を再度呼び出すことができます。たとえば、呼び出し行をコピーして、「Anna」などの別の名前を渡すことができます。この関数は、それに応じて両方のユーザーを紹介します。

次に、複数の引数を関数に渡す方法を見てみましょう。これを行うには、パラメータをカンマで区切ります。 name パラメーターに加えて、さらに 2 つのパラメーター、city (文字列型) と age (int 型) を追加しましょう。ユーザーの都市と年齢に関する情報も含めるように関数を変更します。

関数内では、C++ の「cout」を使用して、ユーザーの名前とともに都市と年齢を出力します。出力を次のように構成します。「私は [市] 出身で、[年齢] 歳です。」

関数を呼び出すときは、名前、都市、年齢の 3 つのパラメーターすべての値を渡します。たとえば、関数を呼び出して、名前として「Selena」、都市として「モスクワ」、年齢として 25 を渡すことができます。この機能は、提供されたすべての情報をユーザーに紹介します。

2 人目のユーザーに対してこのプロセスを繰り返すことができます。名前として「アンナ」、都市として「ニューヨーク」、年齢として 27 を渡します。プログラムを実行すると、両方のユーザーがそれぞれの詳細とともに紹介されていることがわかります。

次に、デフォルトのパラメータを調べてみましょう。場合によっては、パラメータのデフォルト値を定義したい場合があります。この値は、関数の呼び出し時にそのパラメーターに引数が指定されていない場合に使用されます。

デフォルト値を指定するには、パラメータ宣言時にデフォルト値を割り当てます。たとえば、「年齢」パラメータのデフォルト値を 18 に設定してみましょう。年齢を指定せずに関数を呼び出すと、デフォルト値が想定されます。

名前と都市のみを渡し、年齢は省略して、3 人目のユーザーの関数を呼び出してみましょう。予想どおり、この関数ではデフォルトの年齢値 18 でユーザーが紹介されます。

これで、C++ 関数のパラメーターと引数に関する説明は終わりです。このビデオが役に立ち、C++ で関数パラメーターを操作する方法をしっかりと理解していただければ幸いです。ご質問がある場合、またはさらに詳しい説明が必要な場合は、以下にコメントを残してください。喜んでサポートさせていただきます。さらなる C++ チュートリアルにご期待ください。価値があると思われた場合は、このビデオを「いいね」して共有することを忘れないでください。ご視聴いただきありがとうございます。コーディングを楽しんでください。

C++ FUNCTIONS (2020) - What is function parameter/argument (multiple, default) PROGRAMMING TUTORIAL
C++ FUNCTIONS (2020) - What is function parameter/argument (multiple, default) PROGRAMMING TUTORIAL
  • 2020.06.15
  • www.youtube.com
In this video of the "C++ functions" course, I'm explaining what are function parameters/arguments, how to pass arguments to a function, and how to invoke a ...
 

C++ FUNCTIONS (2020) - 関数 return ステートメント、素数を確認する方法


C++ 関数 (2020) - 関数 return ステートメント、素数を確認する方法 プログラミング チュートリアル

皆さんこんにちは、私のチャンネルへようこそ。このビデオでは、C++ の return ステートメントと関数の戻り値の型について説明します。初心者の方は、C++ の学習を開始するのに役立つ役立つ例を提供する私の初心者向け C++ コースを必ずチェックしてください。新しいビデオの最新情報を入手するには、チャンネルに登録し、通知ベルをクリックすることを忘れないでください。さらに、開発者になって開発者の人生についての洞察を得ることに興味がある場合は、Instagram と Twitter で @truecodebeauty をフォローしてください (リンクはビデオの説明にあります)。早速、今日のトピックに入りましょう。

関数の戻り値の型には、int、float、bool、char、double、さらにはユーザー定義のデータ型を含む任意のデータ型を指定できます。また、関数が何も返さないことを示す void にすることもできます。以前のビデオで、関数とは特定のタスクを実行するように設計されたコードのブロックであると説明しました。関数は、値を返す関数と値を返さない関数の 2 つのタイプに分類できます。

値を返さない関数は通常、ユーザーにメニューを表示するなどの特定のアクションを実行します。一方、値を返す関数は、計算または演算を実行して結果を提供するために使用されます。関数は 1 つの値のみを返すことができ、return ステートメントに到達すると関数の実行が停止することに注意することが重要です。

関数の重要性を説明するために、関数を使用しない例を考えてみましょう。数値が素数かどうかを判断するプログラムを作成します。素数は 1 とそれ自体でのみ割り切れます。まず、ユーザーに番号の入力を求めます。次に、2 からユーザーが入力した数値から 1 を引いた値までのすべての数値を繰り返し処理します。数値がこれらの値のいずれかで割り切れる場合、その数値は素数ではありません。それ以外はプライムです。最後に結果を表示します。

次に、関数を使用してプログラムをリファクタリングして、コードをより読みやすく、再利用しやすくしましょう。整数の引数を受け取り、その数値が素数かどうかを示すブール値を返す「isPrimeNumber」という関数を作成します。関数内では、前と同じロジックを実装し、割り切れるかどうかをチェックし、それに応じてフラグを設定します。最後に、フラグの値を返します。

関数を使用すると、素数を決定するロジックをカプセル化できるため、コードが理解しやすく、再利用しやすくなります。

C++ FUNCTIONS (2020) - Functions return statement, How to check prime number PROGRAMMING TUTORIAL
C++ FUNCTIONS (2020) - Functions return statement, How to check prime number PROGRAMMING TUTORIAL
  • 2020.06.29
  • www.youtube.com
In this video of the "C++ functions" course, I'm explaining what is the function return type. I'll show you how to return value from a function on an example...
 

C++ 関数 (2020) - 関数のオーバーロードとは何ですか?プログラミングチュートリアル


C++ 関数 (2020) - 関数のオーバーロードとは何ですか?プログラミングチュートリアル

こんにちは、みんな!私のチャンネルへようこそ。今日のビデオでは、C++ における関数のオーバーロードの概念について詳しく説明します。関数のオーバーロードを使用すると、同じ名前でパラメーターが異なる複数の関数を作成できます。それでは、関数のオーバーロードとは何なのか、そしてそれがどのように機能するのかを見てみましょう。

まず、Visual Studio を開いて「sum」という関数を作成しましょう。まず、関数の戻り値の型を整数として定義します。戻り値の型に慣れていない場合は、このトピックに関する私のビデオを見ることをお勧めします (リンクが提供されています)。次に、関数の名前を「sum」として指定し、2 つのパラメーターを宣言します。どちらのパラメータも整数型で、それぞれ「a」と「b」という名前を付けます。

ここで、同じ名前「sum」で別の関数を作成しましょう。ただし、今回は戻り値の型が double です。 「a」と「b」という名前の double 型の 2 つのパラメーターを宣言します。

さらに、戻り値の型が float である「sum」という名前の 3 番目の関数を作成してみましょう。今回は 3 つのパラメータを渡します。これらはすべて float 型になります。それぞれに「a」、「b」、「c」という名前を付けます。

関数を宣言した後、関数に下線が引かれていることに気付きます。これは、関数の定義が欠落していることを示しています。各関数の定義を提供していきましょう。整数を返す最初の関数から始めます。

中括弧内で、int 型の「result」という変数を定義します。 2 つのパラメーターの合計を表す「a + b」の値を割り当てます。最後に、「return」キーワードを使用して、関数から「result」の値を返します。

あるいは、別の変数を作成する代わりに、「a」と「b」の合計を変数に代入せずに直接返すこともできます。これにより、コードが短くなり、読みやすくなります。

次に、double を返す 2 番目の関数を定義しましょう。宣言をコピーし、中括弧を追加し、その中で「return」キーワードの後に「a + b」を使用します。パラメーターは double 型であるため、合計は倍精度を使用して実行されます。

次に、float を返す 3 番目の関数を定義しましょう。宣言をコピーし、中括弧を追加し、その中で「return」キーワードの後に「a + b + c」を使用します。繰り返しますが、すべてのパラメータは float 型であるため、合計はそれに応じて実行されます。

関数をテストするには、「main」関数で関数を呼び出します。 「cout」ステートメントを使用して結果を表示します。まず、最初の関数「sum」を呼び出し、4 と 3 などの 2 つの整数値を渡します。「cout」を使用して結果を出力し、行を終了します。

プログラムを実行すると、4 と 3 を合計した結果が 7 になることが期待できます。プログラムが正常に実行されれば、最初の関数がテストされたことになります。

次に、「sum」を呼び出し、4.4 や 3.3 などの 2 つの double 値を渡して、2 番目の関数をテストしてみましょう。再度、「cout」を使用して結果を出力し、行を終了します。

プログラムを実行すると、4.4 と 3.3 を合計した結果が 7.7 になるはずです。出力が正しければ、2 番目の関数のテストが成功したことになります。

最後に、「sum」を呼び出し、4.4、3.3、2.2 などの 3 つの float 値を渡して 3 番目の関数をテストしてみましょう。 「cout」を使用して結果を出力し、行を終了します。

プログラムを実行すると、4.4、3.3、2.2 を合計した結果が表示され、これが正しい合計となるはずです。必要に応じて、計算機を使用して出力を確認します。

要約すると、ここで示したのは関数のオーバーロードです。同じ名前「sum」で、パラメーターと戻り値の型が異なる 3 つの関数を作成しました。最初の関数は 2 つの整数を受け取り、2 番目は 2 つの double を受け取り、3 番目は 3 つの float を受け取ります。これらの関数を呼び出すと、コンパイラは、指定された引数に基づいて呼び出す適切な関数を決定します。

関数のオーバーロードを使用すると、同様のタスクを実行する関数に同じ名前を使用することで、より簡潔で読みやすいコードを作成できます。バリエーションごとに異なる名前を持つ個別の関数を作成する必要はありません。

関数のオーバーロードの概念と、それが C++ でどのように役立つかを理解できたと思います。このビデオを楽しんでいただけた場合は、私のチャンネルに登録し、ベルのアイコンをクリックして今後のビデオの通知を受け取ってください。私の他のソーシャル メディア プラットフォームでも私をフォローしていただけます (リンクは説明にあります)。

ご視聴いただきありがとうございます。次のビデオでお会いしましょう。さよなら!

C++ FUNCTIONS (2020) - What is function overloading? PROGRAMMING TUTORIAL
C++ FUNCTIONS (2020) - What is function overloading? PROGRAMMING TUTORIAL
  • 2020.07.17
  • www.youtube.com
Function overloading is the ability to create multiple functions that have the same name but different implementations. In this video of the C++ programming ...
理由: