C++でNULLクラスポインタを介してクラスメソッドを呼び出す
注 −これは未定義の動作であり、プログラムの実行についての保証はありません。実際の結果は、使用するコンパイラによって異なります。
これを実証するプログラムは次のとおりです。
例
#include <iostream> using namespace std; class Example { public : void func() { cout << "The function is called through Null class pointer."; } }; int main() { Example *p = NULL; p->func(); return 0; }
出力
上記のプログラムの出力は次のとおりです。
The function is called through Null class pointer.
それでは、上記のプログラムを理解しましょう。
クラスExampleには、メンバー関数func()が含まれています。この関数は、「関数はNullクラスポインタを介して呼び出されます」と表示します。このためのコードスニペットは次のとおりです。
class Example { public : void func() { cout << "The function is called through Null class pointer."; } };
関数main()で、クラスnullポインタpが作成されます。次に、pを使用してfunc()が呼び出されます。このためのコードスニペットは次のとおりです。
int main() { Example *p = NULL; p->func(); return 0; }
-
C++のNULLオブジェクトポインタでメンバー関数を呼び出す
クラスメンバー関数はNULLオブジェクトポインタを使用して呼び出すことができます。 注 −これは未定義の動作であり、プログラムの実行についての保証はありません。実際の結果は、使用するコンパイラによって異なります。 これを実証するプログラムは次のとおりです。 例 #include <iostream> using namespace std; class Demo { public : void fun() { cout << "This member functi
-
C++のローカルクラス
関数内で宣言されたクラスは、その関数に対してローカルであるため、C++ではローカルクラスと呼ばれます。 ローカルクラスの例を以下に示します。 #include<iostream> using namespace std; void func() { class LocalClass { }; } int main() { return 0; } 上記の例では、func()は関数であり、クラスLocalClassは関数内で定義されています。したがって、ローカルクラスとして知られています。 ローカルクラ