C 使用物件作為函式引數 使用this指標

2021-09-27 23:41:33 字數 495 閱讀 8109

我們知道,在c++中函式實參向形參傳遞有三種方式,分別是:傳值,傳位址和傳引用,其中傳值不能改變實參的值,而後兩種可以。在c++中物件作為函式引數進行傳遞時同樣有以上三種方式。

今天在學習過程中,發現在c++使用物件作為函式引數進行傳遞時,實參向形參採用傳值的方法進行傳遞,但是在函式中使用this指標,分別指向物件的資料成員,在子函式結束後返回main函式時,依然能夠改變實參(物件)的值。

本人目前正在學習c++,在這方面的知識還很淺薄,以往能多與論壇中的同學們多多交流,互相進步,謝謝!

已將**和執行結果附在本文後。

程式如下:

#include

using

namespace std;

class

objvoid

swap

(obj obj)

void

disp()

};intmain()

這裡插入**片

函式作為引數的使用

函式作為引數的使用,可以有 函式作為另乙個函式的引數,函式作為引數,函式作為含參函式。這.是什麼鬼?是不是被我說得有點暈?那就看看示例 來緩一緩?1.首先是函式作為另乙個函式的引數的使用,要注意的是fun2 m 的m與m 的m要一致,也就是不能不同。函式作為另乙個函式的引數 function fun...

物件作為函式引數

物件作為函式的引數時,其傳遞過程較為複雜,傳遞方式比較獨特。其傳參過程與陣列不同 陣列變數的名稱代表陣列的首位址,而物件的變數名稱卻不能代表物件的首位址。傳參時不會像陣列那樣以首位址作為函式的引數傳遞,而是先將物件中的所有資料進行備份 複製 將複製的資料作為形參傳遞到呼叫函式中去 類物件中的資料成員...

使用JSON作為函式的引數

為什麼使用json作為函式引數 由於我們在建立函式的時候,會需要傳入形參,來對變數進行定義。但有時在大的工程中,我們需要傳入的引數比較多,就會造成傳入的形參過多,但當我們需要修改時,需要改動很多地方。所以使用json格式作為引數傳到函式中,解決了這一問題 可以隨機增加或刪除引數,且可以不用考慮其順序...