ホームページ  >  記事  >  バックエンド開発  >  C++ では、オブジェクトはどのようにパラメータとして渡され、返されるのでしょうか? (コード例)

C++ では、オブジェクトはどのようにパラメータとして渡され、返されるのでしょうか? (コード例)

青灯夜游
青灯夜游オリジナル
2019-03-14 15:23:425340ブラウズ

C では、他の変数を渡したり返したりするのと同じように、クラスのオブジェクトをパラメータとして渡したり、関数から返すことができます。特別なキーワードやヘッダー ファイルは必要ありません。次の記事で詳しく説明しますので、お役に立てれば幸いです。

C++ では、オブジェクトはどのようにパラメータとして渡され、返されるのでしょうか? (コード例)

1. オブジェクトをパラメータとして渡す

オブジェクトをパラメータとして渡すには、次のようにします。オブジェクトを渡す 名前はパラメータとして記述され、他の変数と同じように関数が呼び出されます。

基本構文:

函数名(对象名);

例:

#include <bits/stdc++.h> 
using namespace std; 
  
class Example { 
public: 
    int a; 
  
    // 此函数将对象作为参数
    void add(Example E) 
    { 
        a = a + E.a; 
    } 
}; 
int main() 
{ 
  
    // 创建对象
    Example E1, E2; 
  
    // 两个对象的值都已初始化
    E1.a = 50; 
    E2.a = 100; 
  
    cout << "初始值 \n"; 
    cout << "对象1的值: " << E1.a 
         << "\n对象2的值: " << E2.a 
         << "\n\n"; 
  
    // 将对象作为参数传递给函数add()
    E2.add(E1); 
  
    // 传递给函数add()后
    cout << "新值 \n"; 
    cout << "对象1的值: " << E1.a 
         << "\n对象2的值:" << E2.a 
         << "\n\n"; 
  
    return 0; 
}

出力:

初始值
对象1的值:50
对象2的值:100


新值
对象1的值:50
对象2的值:150

説明: この例には、整数変数「 a 」を持つクラスがあります。 " と、オブジェクトをパラメータとして受け取る関数 "add" です。 add() 関数は、オブジェクトと別のオブジェクトをパラメータとして呼び出します。関数内では、パラメーター オブジェクトの整数値が、呼び出し元の「add」関数の整数値に加算されます。このメソッドでは、オブジェクトをパラメータとして渡して変更できます。

注: add 関数は、戻り値の型が void であるため、値を返しません。

2. オブジェクトをパラメータとして返す

基本構文:

object = return object_name;

例: add 関数は " example" type 値が E3 に格納されるオブジェクト (つまり、クラス名)。

#include <bits/stdc++.h> 
using namespace std; 
  
class Example { 
public: 
    int a; 
  
    // 此函数将以对象为参数并返回对象
    Example add(Example Ea, Example Eb) 
    { 
        Example Ec; 
        Ec.a = Ec.a + Ea.a + Eb.a; 
  
        // 返回对象
        return Ec; 
    } 
}; 
int main() 
{ 
    Example E1, E2, E3; 
  
    // 两个对象的值都已初始化
    E1.a = 50; 
    E2.a = 100; 
    E3.a = 0; 
  
    cout << "初始值 \n"; 
    cout << "对象1的值: " << E1.a 
         << " \n对象2的值: " << E2.a 
         << "\n对象3的值: " << E3.a 
         << "\n\n"; 
  
    //将对象作为参数传递给函数add()。
    E3 = E3.add(E1, E2); 
  
    // 将对象作为参数传递后更改的值
    cout << "新值 \n"; 
    cout << "对象1的值: " << E1.a 
         << " \n对象2的值: " << E2.a 
         << " \n对象3的值: " << E3.a 
         << "\n"; 
  
    return 0; 
}

出力:

初始值
对象1的值:50
对象2的值:100
对象3的值:0


新值
对象1的值:50
对象2的值:100
对象3的值:200

説明: この例では、オブジェクトを渡す方法とオブジェクトを返す方法という 2 つの側面を確認できます。オブジェクト E3 が add 関数を呼び出すと、他の 2 つのオブジェクト E1 と E2 がパラメーターとして渡されます。関数内では、3 つの変数すべての合計を計算して E3 に返す別のオブジェクトが宣言されています。

おすすめの関連ビデオ チュートリアル: 「C チュートリアル

以上がこの記事の全内容です。皆様の学習にお役に立てれば幸いです。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !

以上がC++ では、オブジェクトはどのようにパラメータとして渡され、返されるのでしょうか? (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。