C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++のNULLオブジェクトポインタでメンバー関数を呼び出す


クラスメンバー関数はNULLオブジェクトポインタを使用して呼び出すことができます。

−これは未定義の動作であり、プログラムの実行についての保証はありません。実際の結果は、使用するコンパイラによって異なります。

これを実証するプログラムは次のとおりです。

#include <iostream>
using namespace std;
class Demo {
   public :
   void fun() {
      cout << "This member function is called through Null object pointer.";
   }
};
int main() {
   Demo *ptr = NULL;
   ptr->fun();
   return 0;
}

出力

上記のプログラムの出力は次のとおりです。

This member function is called through Null object pointer.

それでは、上記のプログラムを理解しましょう。

クラスDemoには、メンバー関数fun()が含まれています。この関数は、「このメンバー関数はNullオブジェクトポインタを介して呼び出されます」と表示します。このためのコードスニペットは次のとおりです。

class Demo {
   public :
   void fun() {
      cout << "This member function is called through Null object pointer.";
   }
};

関数main()で、オブジェクトnullポインタptrが作成されます。次に、ptrを使用してメンバー関数fun()が呼び出されます。このためのコードスニペットは次のとおりです。

int main() {
   Demo *ptr = NULL;
   ptr->fun();
   return 0;
}

  1. C++のConstメンバー関数

    constメンバー関数は、プログラムで定数として宣言されている関数です。これらの関数によって呼び出されるオブジェクトは変更できません。オブジェクトへの偶発的な変更を回避するために、constキーワードを使用することをお勧めします。 constメンバー関数は、任意のタイプのオブジェクトから呼び出すことができます。非const関数は、非constオブジェクトからのみ呼び出すことができます。 C++言語でのconstメンバー関数の構文は次のとおりです。 datatype function_name const(); これはC++のconstメンバー関数の例です 例 #include<io

  2. C ++のswap()関数

    swap()関数は、2つの数値を交換するために使用されます。この関数を使用すると、2つの数値を交換するために3番目の変数は必要ありません。 C ++言語でのswap()の構文は次のとおりです。 void swap(int variable_name1, int variable_name2); 変数に値を割り当てるか、ユーザー定義の値を渡すと、変数の値が交換されますが、変数の値は実際の場所では同じままです。 これがC++言語でのswap()の例です 例 #include <bits/stdc++.h> using namespace std; int main() { &nb