C++はメンバー関数のパラメータとして学習します

序文

パラメータとしてのクラスは、オブジェクト指向プログラミングに関して重要な概念です。提供されたコード例では、単純なキューブ クラス (Cube) が確認でき、isSame メソッドでは別のキューブ オブジェクトをパラメーターとして受け入れます。以下では、この知識ポイントをステップごとに説明します。

文章

  1. キューブクラス(Cube)を定義する
class Cube
{
public:
    void set_length(int len)
    {
        length = len;
    }

    int get_length()
    {
        return length;
    }

    void isSame(Cube& a)
    {
        if (length == a.get_length())
        {
            cout << " 两个立方体是一样的 " << endl;
        }
        else {
            cout << " 两个立方体不是一样的 " << endl;
        }
    }

private:
    int length;
};

このコード スニペットでは、Cube というクラスを定義します。このクラスはキューブを表し、次のメンバーがあります。

set_length(int len): 立方体の辺の長さを設定します。
get_length(): 立方体の辺の長さを取得します。
isSame(Cube& a): 現在の立方体オブジェクトと別の立方体オブジェクト a の辺の長さが等しいかどうかを比較し、結果を出力します。

  1. キューブオブジェクトを作成し、メソッドを使用します
int main()
{
    Cube a, b, c;
    a.set_length(10);
    b.set_length(10);
    c.set_length(11);
    a.isSame(b);
    a.isSame(c);
}

main 関数では、3 つの立方体オブジェクト a、b、c を作成します。次に、set_length メソッドを使用して立方体の辺の長さを設定します。a と b には同じ辺の長さ (10) を設定しますが、c の辺の長さは 11 であることに注意してください。

次に、isSame メソッドを呼び出して、立方体オブジェクトの辺の長さを比較します。このメソッドは Cube 型のパラメータを受け入れるため、他のキューブ オブジェクトをこのメソッドに渡すことができます。isSame メソッドは、辺の長さが等しいかどうかに応じて異なるメッセージを出力します。

要約すると、パラメータとしてのクラスの概念により、あるクラスのオブジェクトを別のクラスのメソッドに渡して、さまざまな操作や比較を実行できるようになります。あなたの例では、この概念は、異なる立方体オブジェクトの辺の長さが等しいかどうかを比較するために使用されます。

より深く理解する

クラスのメンバー関数 isSame について説明します

オブジェクト指向プログラミングでクラス メンバー関数 isSame を定義すると、実際には 2 つのオブジェクトが等しいかどうかを比較するメソッドをクラスに追加することになります。この例では、 isSame は 2 つの立方体オブジェクトの辺の長さが同じかどうかを比較するメンバー関数です。この関数が何をするのか、そしてその実装について詳しく説明しましょう。

void isSame(Cube& a)
{
    if (length == a.get_length())
    {
        cout << " 两个立方体是一样的 " << endl;
    }
    else {
        cout << " 两个立方体不是一样的 " << endl;
    }
}

isSame 関数は、Cube クラスのパブリック メンバー関数として定義されています。これは、現在の立方体オブジェクトと渡された立方体オブジェクトの辺の長さが等しいかどうかを比較するために使用される Cube タイプの参照パラメーター a を受け入れます。

関数の実装は次のロジックに基づいています。

現在の立方体オブジェクトの length メンバー変数を使用して、渡された立方体オブジェクト a の辺の長さと比較します。
2 つの辺が等しい場合、「2 つの立方体は同じです」と出力します。
2 つの辺の長さが等しくない場合は、「2 つの立方体は同じではありません」と出力します。
この設計により、オブジェクトのプライベート メンバー変数に直接アクセスせずに isSame 関数を呼び出すことで、2 つのキューブ オブジェクトのプロパティを簡単に比較できます。代わりに、カプセル化の概念に従って、パブリック関数を呼び出して比較操作を実行します。

このようにして、クラス メソッドを通じてオブジェクト間の操作と比較を整理、カプセル化、管理できます。これにより、クラスの実装の詳細がクラス内にカプセル化され、クライアント コードは必要な操作を完了するためにクラスのメソッドを呼び出すだけで済むため、コードの保守性と拡張性が向上します。

おすすめ

転載: blog.csdn.net/wniuniu_/article/details/132603879