-
C ++で派生クラス関数から親クラス関数を呼び出す方法は?
以下は、派生クラス関数から親クラス関数を呼び出す例です。 例 #include <bits/stdc++.h> using namespace std; class p1 { public: void first() { cout << "\nThe parent class p1 function is called."; } }; class d1 : public p1 { public:  
-
C ++の空のクラスのオブジェクトのサイズはどれくらいですか?
以下は、空のクラスのオブジェクトのサイズを見つける例です。 例 #include <bits/stdc++.h> using namespace std; class p1 { public: void first() { cout << "\nThe parent class p1 function is called."; } }; class p2 { }; int main() { cout <
-
C ++でクラスと構造体をいつ使用する必要がありますか?
構造とクラスはC++で非常に似ていますが、いくつかの違いがあります。したがって、これらの違いの詳細を以下に示します。これは、C++でクラスまたは構造をいつ使用するかを決定するのに役立ちます。 クラスと構造の違い クラスのすべてのメンバーは、デフォルトでプライベートです。構造体のすべてのメンバーがデフォルトで公開されているため、これは構造体とは異なります。 C++でクラスをデモンストレーションするプログラムは次のとおりです- 例 #include <iostream> using namespace std; class Example { int va
-
C ++関数の静的変数の有効期間はどれくらいですか?
静的変数は、キーワードstaticを使用して宣言される変数です。静的変数用のスペースは1回だけ割り当てられ、これはプログラム全体で使用されます。 この変数が宣言されると、プログラムが実行されるまで存在します。したがって、静的変数の有効期間はプログラムの有効期間です。 静的変数を示すプログラムは次のとおりです。 例 #include <iostream> using namespace std; void func() { static int num = 1; cout <<"Value of num:
-
C ++で「オブジェクトを返す」方法は?
オブジェクトはクラスのインスタンスです。メモリは、オブジェクトが作成されたときにのみ割り当てられ、クラスが定義されたときは割り当てられません。 returnキーワードを使用して、関数からオブジェクトを返すことができます。これを実証するプログラムは次のとおりです- 例 #include <iostream> using namespace std; class Point { private: int x; int y; public: Point(in
-
C++でのポリモーフィズムの例
ポリモーフィズムは、オブジェクト指向プログラミングの重要な機能であり、複数の形式を持つことを意味します。これは、C++ではコンパイル時のポリモーフィズムと実行時のポリモーフィズムに分けられます。 コンパイル時のポリモーフィズムの例は、関数のオーバーロードまたは演算子のオーバーロードです。ランタイムポリモーフィズムの例は、関数のオーバーライドです。 C++で関数のオーバーロードを使用したポリモーフィズムの例を以下に示します。 例 #include <iostream> using namespace std; class Example { public
-
C++派生クラスの保護されたメンバーへのアクセス
C ++のクラスには、対応するクラスメンバーを含むパブリック、プライベート、および保護されたセクションがあります。クラス内の保護されたメンバーは、クラスの外部からアクセスできないため、プライベートメンバーに似ています。ただし、派生クラスまたは子クラスからアクセスできますが、プライベートメンバーからはアクセスできません。 C++の派生クラスの保護されたデータメンバーへのアクセスを示すプログラムは次のとおりです- 例 #include <iostream> using namespace std; class Base { protected :  
-
C++のプライベートメンバーと保護されたメンバー
C ++のクラスには、対応するクラスメンバーを含むパブリック、プライベート、および保護されたセクションがあります。 クラス外からプライベートデータメンバーにアクセスすることはできません。これらは、クラスまたはフレンド関数によってのみアクセスできます。すべてのクラスメンバーはデフォルトでプライベートです。 クラス内の保護されたメンバーはプライベートメンバーに似ていますが、プライベートメンバーはアクセスできないのに対し、派生クラスまたは子クラスからアクセスできます。 クラスのプライベートメンバーと保護されたメンバーを示すプログラムは次のとおりです- 例 #include <iostre
-
C ++で先頭に追加された二重コロン「::」の意味は何ですか?
先頭に追加された二重コロンは、スコープ解決演算子とも呼ばれます。この演算子の使用法のいくつかを以下に示します。 クラス外の関数を定義する スコープ解決演算子を使用して、クラス外の関数を定義できます。これを実証するプログラムは次のとおりです。 例 #include<iostream> using namespace std; class Example { int num; public: Example() { num = 10; }
-
main関数はC++でそれ自体を呼び出すことができますか?
main()関数はC++でそれ自体を呼び出すことができます。これは再帰の例です。これは、関数がそれ自体を呼び出すことを意味します。これを実証するプログラムは次のとおりです。 例 #include<iostream> using namespace std; int main() { static int x = 1; cout << x << " "; x++; if(x == 11) { re
-
C++でNULLクラスポインタを介してクラスメソッドを呼び出す
クラスメソッドはNULLクラスポインタを使用して呼び出すことができます。 注 −これは未定義の動作であり、プログラムの実行についての保証はありません。実際の結果は、使用するコンパイラによって異なります。 これを実証するプログラムは次のとおりです。 例 #include <iostream> using namespace std; class Example { public : void func() { cout << "The function is cal
-
C ++を使用して素数を見つけるための最速のアルゴリズムはどれですか?
エラトステネスのふるいは、nが約1,000万より小さい場合に、nより小さい素数を見つける最も効率的な方法の1つです。 エラトステネスのふるいを実演するプログラムは次のとおりです。 例 #include <bits/stdc++.h> using namespace std; void SieveOfEratosthenes(int num) { bool pno[num+1]; memset(pno, true, sizeof(pno)); for (int i = 2; i*i< = num;
-
C++でデフォルト値が1つある通常の配列の初期化
配列全体を非常に簡単にゼロに初期化できます。これを以下に示します。 int arr[10] = {0}; ただし、上記の方法を使用して、配列全体をゼロ以外の値に初期化することはできません。これを以下に示します。 int arr[10] = {5}; 上記の例では、最初の要素のみが5に初期化されます。他のすべての要素は0に初期化されます。 forループを使用して、ゼロではない1つのデフォルト値で配列を初期化できます。これを以下に示します。 for(i = 0; i<10; i++) { arr[i] = 5; } 上記の例では、すべての配列要素が5に初期化
-
C++のNULLオブジェクトポインタでメンバー関数を呼び出す
クラスメンバー関数はNULLオブジェクトポインタを使用して呼び出すことができます。 注 −これは未定義の動作であり、プログラムの実行についての保証はありません。実際の結果は、使用するコンパイラによって異なります。 これを実証するプログラムは次のとおりです。 例 #include <iostream> using namespace std; class Demo { public : void fun() { cout << "This member functi
-
静的C++クラスメンバーはいつ初期化されますか?
静的C++クラスのメンバーは、staticキーワードを使用して定義できます。クラスのオブジェクトの数に関係なく、メモリには静的クラスメンバーのコピーが1つしかないため、クラスの静的メンバーはすべてのクラスオブジェクトで共有されます。 静的クラスメンバーは、他の方法で初期化されていない場合、クラスの最初のオブジェクトが作成されるときにゼロに初期化されます。 C++で静的クラスメンバーを示すプログラムは次のとおりです。 例 #include <iostream> using namespace std; class Example { public : &
-
C ++でnew演算子を使用する場合と、使用しない場合は?
new演算子を使用すると、ヒープでのメモリ割り当ての要求が示されます。十分なメモリが利用可能な場合、メモリを初期化し、そのアドレスをポインタ変数に返します。 new演算子は、deleteが呼び出されるまでデータオブジェクトがメモリに残っている必要がある場合にのみ使用する必要があります。それ以外の場合、new演算子が使用されていない場合、オブジェクトはスコープ外になると自動的に破棄されます。つまり、newを使用しているオブジェクトは手動でクリーンアップされ、他のオブジェクトはスコープ外になると自動的にクリーンアップされます。 以下は、new演算子の構文です。 pointer_variable
-
C ++関数からローカル配列を返す方法は?
ローカル配列は、関数呼び出し後にメモリに存在しない可能性があるため、C++関数から直接返すことはできません。これを解決する方法は、関数で静的配列を使用することです。静的配列の存続期間はプログラム全体であるため、上記の問題なしにC++関数から簡単に返すことができます。 これを実証するプログラムは次のとおりです。 例 #include <iostream> using namespace std; int *retArray() { static int arr[10]; for(int i = 0; i<10; i++) {
-
C++での変数と実数を使用した配列の初期化
配列は、連続したメモリ位置にある同じタイプの要素のコレクションです。配列の最小アドレスは最初の要素に対応し、最大アドレスは最後の要素に対応します。配列インデックスはzero(0)で始まり、配列のサイズから1を引いたもの(配列サイズ-1)で終わります。 配列は、実数だけでなく変数でも初期化できます。これを実証するプログラムは次のとおりです。 例 #include <iostream> using namespace std; int main() { int a = 5; int b = 3; int a
-
C++静的メンバー変数とその初期化
静的C++メンバー変数は、staticキーワードを使用して定義されます。クラスの静的メンバー変数は、クラスのオブジェクトの数に関係なく、メモリ内に1つのコピーしかないため、すべてのクラスオブジェクトで共有されます。 静的クラスメンバー変数は、他の方法で初期化されていない場合、クラスの最初のオブジェクトが作成されるときにゼロに初期化されます。 静的メンバー変数とC++での初期化を示すプログラムは次のとおりです。 例 #include <iostream> using namespace std; class Demo { public :
-
C ++でdoubleを文字列に変換するにはどうすればよいですか?
ダブルは、std::to_stringを使用してC++で文字列に変換できます。必要なパラメータはdouble値であり、文字列としてdouble値を含む文字列オブジェクトが返されます。 これをC++で示すプログラムは次のとおりです。 例 #include <iostream> #include <string.h> using namespace std; int main() { double d = 238649.21316934; string s = to_string(d); cou