在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」類型的物件(即類別名稱),該物件的值儲存在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
說明:在這個例子中,我們可以看到兩個方面,即我們如何傳遞物件以及返回它們。當物件E3呼叫add函數時,它會傳遞另外兩個對象,即E1和E2作為參數。在函數內部,宣告了另一個對象,它計算所有三個變數的總和並將其傳回給E3。
相關影片教學推薦:《C 教學》
以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。更多精彩內容大家可以追蹤php中文網相關教學欄位! ! !
以上是在C++中物件如何作為參數傳遞和傳回? (程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!