C ++の親クラスから継承されるものは何ですか?
オブジェクト指向プログラミングでは、親クラスの特性を継承することができます。親クラスは基本クラスと呼ばれ、子クラスは派生クラスと呼ばれます。派生クラスは、基本クラスのメンバー関数であるデータメンバーを継承できます。
データメンバーがパブリックの場合、派生クラス、同じクラス、およびクラス外からアクセスできます。データメンバーが保護されている場合、それらは派生した同じクラスからのみアクセスできますが、クラス外ではアクセスできません。データメンバーがプライベートの場合、同じクラスのみがそれらにアクセスできます。
これはC++言語での継承の例です
例
#include <bits/stdc++.h> using namespace std; class Base { public: int a; protected: int b; private: int c; }; class Derived : public Base { public: int x; }; int main() { Derived d; d.a = 10; d.x = 20; cout << "Derived class data member vale : " << d.x << endl; cout << "Base class data member value : " << d.a << endl; return 0; }
出力
Derived class data member vale : 20 Base class data member value : 10
上記のプログラムでは、派生クラスは基本クラスとそのデータメンバーを継承しています。派生クラスオブジェクトdが作成され、基本クラスと派生クラスaおよびxのデータメンバーを呼び出すために使用されます。ただし、基本クラスの変数bとcは保護されており、プライベートであるためアクセスできません。アクセスしようとするとエラーが表示されます。
Derived d; d.a = 10; d.x = 20;
-
C++でのソースからターゲットへのすべてのパス
N個のノードを持つ有向非巡回グラフがあるとします。ノード0からノードN-1までのすべての可能なパスを見つけて、それらを任意の順序で返す必要があります。グラフは次のように与えられます。ノードは0、1、...、graph.length-1です。graph[i]は、エッジ(i、j)が存在するすべてのノードjのリストです。 したがって、入力が[[1,2]、[3]、[3]、[]]の場合、出力は[[0,1,3]、[0,2,3]]になります。 これを解決するには、次の手順に従います- resと呼ばれる1つの2D配列を作成します 解決と呼ばれるメソッドを定義します。これにより、グラフ、ノード、
-
C++で特定のノードから距離kにあるすべてのノードを出力します
この問題では、二分木、ターゲットノード、整数Kが与えられます。ターゲットノードから距離Kにあるツリーのすべてのノードを印刷する必要があります。 。 二分木 は、各ノードに最大2つのノード(1つまたは2つ/なし)を持つ特別なツリーです。 問題を理解するために例を見てみましょう K =2 ターゲットノード:9 出力 − 5 1 3. 説明 − 距離は、ノードの上位、下位、または同じレベルで取得できます。したがって、それに応じてノードを返します。 この問題を解決するには、ターゲットノードからK距離離れたノードのタイプを理解する必要があります。 上記の試験から、k個の離