C ++のフレンド関数と通常関数の違いは何ですか

目次:

Anonim

NS 主な違い C ++のフレンド関数と通常関数の間は フレンド関数はプライベートデータと保護されたデータへのアクセスに役立ちますが、ノーマル関数は特定のタスクを実行するステートメントのグループです。

C ++は、1979年にBjarne Stroustrupによって開発されたプログラミング言語です。この言語はC言語に似ていますが、Cよりも多くの機能があります。C++の主要なプログラミング概念の1つは関数です。 C ++には、通常の関数とは異なるフレンド関数と呼ばれる特別な関数があります。

C、C ++、フレンド関数、通常関数

C ++のフレンド関数とは

クラスには、プライベートデータメンバーと保護されたデータメンバーを含めることができます。クラス外のプライベートデータメンバーにアクセスすることはできません。クラス内およびそのサブクラスによって保護されたメンバーにアクセスできます。したがって、これら2つのアクセス修飾子は、データメンバーへのアクセスを制限します。さらに、フレンド関数を使用して、クラスのプライベートおよび保護されたデータメンバーにアクセスできます。 「friend」キーワードは、関数をフレンド関数として宣言します。

図1:フレンド機能を備えたC ++プログラム

上記のプログラムでは、Calculateクラスにはnumberというプライベートデータメンバーが含まれています。プログラマーは、10行目のようにクラス内でfriend関数を宣言する必要があります。次に、calculateコンストラクターが数値を0に初期化します。printNumberはfriend関数です。 mainメソッドでは、cはCalculateのオブジェクトです。そのオブジェクトをprintNumberメソッドに渡すことができます。 printNumberはフレンド関数であるため、プライベートメンバーの「番号」にアクセスして値を変更できます。したがって、その値にアクセスして20を加算し、結果を返します。最後に、結果がコンソールに表示されます。

C ++の正規関数とは何ですか

通常の機能は、特定のタスクを実行する一連の命令です。すべての命令を1つのメソッドで記述するのではなく、プログラムを複数の関数に分割し、必要に応じてmainメソッドで呼び出すことができます。したがって、通常の関数はコードの再利用性を高め、コードの保守性を向上させます。

関数には、ライブラリ関数とユーザー定義関数の2種類があります。 C ++はライブラリ関数を提供します。これらはC ++ヘッダーファイルで宣言されています。いくつかの例はsin(x)、sqrt(x)などです。プログラマーはそれらをプログラムで直接使用できます。さらに、プログラマーは自分の関数を書くことができます。これらはユーザー定義関数と呼ばれます。

図2:通常の機能を備えたC ++プログラム

上記のプログラムでは、xとyはmainメソッドの2つの整数値です。 findSumはメソッドであり、x値とy値を渡すことができます。合計を計算し、結果を返します。結果はsum変数に格納されます。同様に、findMultiplyと呼ばれる関数があります。 x値とy値を渡すことができます。乗算を計算し、結果を返します。同様に、これら2つの関数はタスクを実行し、回答をmainメソッドに返します。

C ++でのフレンド関数と通常の関数の違い

意味

C ++のフレンド関数は、プライベートデータと保護されたデータへのアクセスを提供するメソッドですが、C ++の通常の関数は、プログラムにモジュール性を提供するメソッドです。これが、C ++のフレンド関数と通常関数の主な違いです。

使用法

C ++のフレンド関数と通常関数のもう1つの違いは、それらの使用法です。フレンド関数は、クラスのプライベートデータメンバーと保護されたデータメンバーを変更するのに役立ちますが、通常の関数は、コードの再利用性を向上させ、コードを保守可能にします。

結論

C ++のフレンド関数とノーマル関数の主な違いは、フレンド関数はプライベートデータと保護されたデータへのアクセスに役立つのに対し、ノーマル関数は特定のタスクを実行するステートメントのグループであるということです。簡単に言うと、フレンド関数は一種の関数です。

リファレンス:

1.「Cフレンド関数–Javatpoint」。 Www.javatpoint.com、ここから入手可能2。 「C関数–Javatpoint」。 Www.javatpoint.com、こちらから入手可能3。 「Cの関数。」コンピュータネットワークにおけるネットワークトポロジの種類| Studytonight、こちらから入手できます。

C ++のフレンド関数と通常関数の違いは何ですか