-
C++でのカプセル化
カプセル化は、データと、データを操作するメソッドを1つのコンポーネントにまとめ、外部からの干渉から保護します。本質的に、カプセル化には、データとデータを使用する関数をバンドルすることが含まれます。データのカプセル化は、データの非表示という非常に重要な概念につながります。 C ++でのカプセル化は、ユーザー定義のデータ型であるクラスを使用して実装されます。これらのクラスには、データ型と、一緒にバインドされたメソッドが含まれています。 クラスを使用したC++でのカプセル化を表すプログラムは次のとおりです。 例 #include <iostream> using namespace
-
C++のローカルクラス
関数内で宣言されたクラスは、その関数に対してローカルであるため、C++ではローカルクラスと呼ばれます。 ローカルクラスの例を以下に示します。 #include<iostream> using namespace std; void func() { class LocalClass { }; } int main() { return 0; } 上記の例では、func()は関数であり、クラスLocalClassは関数内で定義されています。したがって、ローカルクラスとして知られています。 ローカルクラ
-
C++のネストされたクラス
ネストされたクラスは、別のクラスで宣言されているクラスです。ネストされたクラスは、それを囲むクラスのメンバー変数でもあり、他のメンバーと同じアクセス権を持っています。ただし、囲んでいるクラスのメンバー関数には、ネストされたクラスのメンバーへの特別なアクセス権はありません。 C++でネストされたクラスを示すプログラムは次のとおりです。 例 #include<iostream> using namespace std; class A { public: class B { private:
-
C++のコンストラクタ
コンストラクターは、クラスの新しいオブジェクトが作成されたときに実行されるクラスの関数です。コンストラクターはクラスと同じ名前であり、戻り型はなく、voidでさえありません。これらは主に、クラスの変数の初期値を提供するのに役立ちます。 コンストラクターの2つの主なタイプは、デフォルトのコンストラクターとパラメーター化されたコンストラクターです。これらの詳細は次のとおりです。 デフォルトコンストラクタ デフォルトのコンストラクターはパラメーターを取りません。デフォルトのコンストラクターがプログラマーによって明示的に提供されていない場合、コンパイラーは暗黙のデフォルトのコンストラクターを提供し
-
C++でコンストラクタをコピーする
コピーコンストラクターはコンストラクターの一種です。オブジェクトを作成し、同じクラスのオブジェクトで初期化します。コピーコンストラクターがクラスで定義されていない場合は、コンパイラー自体が定義します。コピーコンストラクタは、ポインタ変数または動的メモリ割り当てを持つクラスの必須事項です。 コピーコンストラクタを示すプログラムは次のとおりです。 例 #include<iostream> using namespace std; class Demo { private: int num1, num2; p
-
C++のデストラクタ
C ++のデストラクタは、オブジェクトを削除するクラスのメンバー関数です。これらは、関数が終了したとき、プログラムが終了したとき、変数の削除が呼び出されたときなど、クラスオブジェクトがスコープ外になったときに呼び出されます。 デストラクタは、引数を取らず、何も返さないため、通常のメンバー関数とは異なります。また、デストラクタの名前はクラスと同じで、名前の前にチルダ(〜)が付いています。 C++でデストラクタをデモンストレーションするプログラムは次のとおりです。 例 #include<iostream> using namespace std; class Demo { &nbs
-
C++のデフォルトコンストラクタ
コンストラクターは、クラスの新しいオブジェクトが作成されたときに実行されるクラスの関数です。コンストラクターはクラスと同じ名前であり、戻り型はなく、voidでさえありません。これらは主に、クラスの変数の初期値を提供するのに役立ちます。コンストラクターの2つの主なタイプは、デフォルトのコンストラクターとパラメーター化されたコンストラクターです。 デフォルトのコンストラクターはパラメーターを取りません。デフォルトのコンストラクターがプログラマーによって明示的に提供されていない場合、コンパイラーは暗黙のデフォルトのコンストラクターを提供します。その場合、変数のデフォルト値は0です。 デフォルトの
-
C++のアクセス修飾子
アクセス修飾子は、オブジェクト指向プログラミングでデータを隠すために使用されます。 C++で使用されるアクセス修飾子には3つのタイプがあります。これらはパブリック、プライベート、保護されています。これらの詳細は次のとおりです。 パブリックアクセス修飾子 publicと宣言されたクラスのデータメンバーとメンバー関数は、他のクラスを含むすべての人が利用できます。これらは、クラスオブジェクトでドット演算子を使用して、プログラムの任意の場所からアクセスできます。 パブリックアクセス指定子を示すプログラムは次のとおりです。 例 #include<iostream> using names
-
C++での二分探索
二分探索は、配列を半分にして半分ずつ検索することにより、並べ替えられた配列から必要な要素を見つける方法です。 このメソッドは、アレイ全体から開始することによって実行されます。それからそれは半分になります。必要なデータ値が配列の中央にある要素よりも大きい場合は、配列の上半分が考慮されます。それ以外の場合は、下半分が考慮されます。これは、必要なデータ値が取得されるか、残りの配列が空になるまで継続的に実行されます。 C++での二分探索を示すプログラムを以下に示します。 例 #include using namespace std; int binarySearch(int arr[], int
-
ソートされた配列を実装するC++プログラム
並べ替えられた配列は、各要素が数値、アルファベット順などの順序で並べ替えられた配列です。バブルの並べ替え、挿入の並べ替え、選択の並べ替え、マージの並べ替え、クイック並べ替えなど、数値の配列を並べ替えるアルゴリズムは多数あります。ヒープソートなど。選択ソートを使用した配列のソートの詳細については、以下を参照してください。 選択ソートは、ソートされた配列を生成するソート方法です。これは、配列内の最小の要素を繰り返し見つけて、ソートされていない部分の先頭にある要素と交換することによって行われます。 選択ソートを使用してソートされた配列を実装するプログラムは次のとおりです。 例 #include&
-
スパース行列を実装するC++プログラム
スパース行列は、要素の大部分が0である行列です。この例を次に示します。 以下に示す行列には、5つのゼロが含まれています。ゼロの数は行列の要素の半分以上であるため、スパース行列です。 5 0 0 3 0 1 0 0 9 スパース行列を実装するプログラムは次のとおりです。 例 #include<iostream> using namespace std; int main () { int a[10][10] = { {0, 0, 9} , {5, 0, 8} , {7, 0, 0} }; int i, j, count = 0;
-
単一リンクリストを実装するC++プログラム
単一リンクリストは、自己参照構造を使用して作成されたノードで構成されるデータ構造の一種です。これらの各ノードには、データと次のリストノードへの参照という2つの部分が含まれています。リンクリスト全体にアクセスするには、最初のリストノードへの参照のみが必要です。これは頭として知られています。リストの最後のノードは何も指していないため、その部分にNULLが格納されます。 単一リンクリストを実装するためのプログラムは次のとおりです。 例 #include <iostream> using namespace std; struct Node { int da
-
循環単一リンクリストを実装するためのC++プログラム
循環単一リンクリストは、自己参照構造を使用して作成されたノードで構成されるデータ構造の一種です。これらの各ノードには、データと次のリストノードへの参照という2つの部分が含まれています。 リンクリスト全体にアクセスするには、最初のリストノードへの参照のみが必要です。これは頭として知られています。リストの最後のノードは、リストの先頭または最初のノードを指します。これが循環リンクリストとして知られている理由です。 循環単一リンクリストを実装するプログラムは次のとおりです。 例 #include <iostream> using namespace std; struct Node
-
二重リンクリストを実装するC++プログラム
二重リンクリストは、自己参照構造を使用して作成されたノードで構成されるデータ構造の一種です。これらの各ノードには、データと次のリストノードへの参照、および前のリストノードへの参照の3つの部分が含まれています。 リンクリスト全体にアクセスするには、最初のリストノードへの参照のみが必要です。これは頭として知られています。リストの最後のノードは何も指していないため、その部分にNULLが格納されます。また、各ノードが前のノードと次のノードを指しているため、二重にリンクされたリストを両方向にトラバースできます。 二重リンクリストを実装するプログラムは次のとおりです。 例 #include <
-
配列を使用してスタックを実装するC++プログラム
スタックは、要素のコレクションを含む抽象的なデータ構造です。スタックはLIFOメカニズムを実装します。つまり、最後にプッシュされた要素が最初にポップアウトされます。スタック内の主要な操作のいくつかは-です。 プッシュ-これにより、データ値がスタックの最上位に追加されます。 ポップ-これにより、スタックの最上位のデータ値が削除されます ピーク-これはスタックの最上位のデータ値を返します 配列を使用してスタックを実装するプログラムは次のとおりです。 例 #include <iostream> using namespace std; int stack[100]
-
リンクリストを使用してスタックを実装するC++プログラム
スタックは、要素のコレクションを含む抽象的なデータ構造です。スタックはLIFOメカニズムを実装します。つまり、最後にプッシュされた要素が最初にポップアウトされます。スタック内の主要な操作のいくつかは-です。 プッシュ-これにより、データ値がスタックの最上位に追加されます。 ポップ-これにより、スタックの最上位のデータ値が削除されます。 ピーク-スタックの最上位のデータ値を返します。 リンクリストを使用してスタックを実装するプログラムは次のとおりです。 例 #include <iostream> using namespace std; struct Node
-
C ++ STLのacos()関数
acos()関数は、ラジアンで指定された角度の逆コサインを返します。これはC++STLに組み込まれている関数です。 acos()関数の構文は次のとおりです。 acos(var) 構文からわかるように、関数acos()は、データ型float、double、またはlongdoubleのパラメーターvarを受け入れます。このパラメーターの値は-1から1の間でなければなりません。これは、-piからpiの範囲のvarの逆コサインを返します。 C ++でacos()を示すプログラムは次のとおりです。 例 #include <iostream> #include <cmath>
-
C ++ STLのatan2()関数
atan2()関数は、yとxに関する座標の正接逆関数を返します。ここで、yとxは、それぞれy座標とx座標の値です。これはC++STLに組み込まれている関数です。 atan2()関数の構文は次のとおりです。 atan2(dataType var1, dataType var2) 構文からわかるように、関数atan2()は、データ型floatの2つのパラメーターvar1とvar2、それぞれyとxポイントであるdoubleまたはlongdoubleを受け入れます。 atan2()によって返される値は、-piからpiの範囲であり、(x、y)と正のx軸の間の角度です。 C ++でatan2()を
-
配列を使用してキューを実装するC++プログラム
キューは、要素のコレクションを含む抽象的なデータ構造です。キューはFIFOメカニズムを実装します。つまり、最初に挿入された要素も最初に削除されます。つまり、最近追加された要素がキューの最初に削除されます。 配列を使用してキューを実装するプログラムは次のとおりです- 例 #include <iostream> using namespace std; int queue[100], n = 100, front = - 1, rear = - 1; void Insert() { int val; if (rear == n -
-
リンクリストを使用してキューを実装するC++プログラム
キューは、要素のコレクションを含む抽象的なデータ構造です。キューはFIFOメカニズムを実装します。つまり、最初に挿入された要素も最初に削除されます。つまり、最後に追加された要素がキューの最初に削除されます。 リンクリストを使用してキューを実装するプログラムは次のとおりです- 例 #include <iostream> using namespace std; struct node { int data; struct node *next; }; struct node* front = NULL; struct node*