靜態成員變數可以用作另乙個類的成員函式的引數嗎 5

發布 科技 2024-08-21
21個回答
  1. 匿名使用者2024-02-01

    是的,但靜態成員函式無法訪問非靜態成員變數,因為它具有指向物件本身的隱式指標(通常稱為 this 或 self)。

  2. 匿名使用者2024-01-31

    靜態成員變數和非靜態成員變數肯定是可以的,傳遞的是這個變數的值,而不是變數本身。

  3. 匿名使用者2024-01-30

    不可以,因為靜態成員變數,初始化在類之外,狀態只是一直在變化,所以不能作為表單引數使用。

  4. 匿名使用者2024-01-29

    這是不可能的,你自己的類中的靜態成員變數是由你自己的類物件共享的變數。

  5. 匿名使用者2024-01-28

    是的! 只要您定義了乙個全域性變數,或者在某個其他類中,您需要使用該變數來包含定義靜態成員變數的類的標頭檔案。

  6. 匿名使用者2024-01-27

    當乙個靜態成員變數作為引數傳遞給另乙個函式時,它只是乙個值,但函式呼叫不就是乙個值嗎,為什麼不能呢?

  7. 匿名使用者2024-01-26

    原因如下;

    與靜態資料成員一樣,靜態成員函式是類的一部分,而不是物件的一部分。 如果要在類外部呼叫公共靜態成員函式,請使用類名和域運算子”。

    例如,box volume( ) 實際上也允許通過物件名稱呼叫靜態成員函式,例如 );但這並不意味著這個函式屬於物件 a,而只是它型別為 a。 靜態成員函式的目的是能夠處理靜態資料成員。 可以說,靜態成員函式和非靜態成員函式的根本區別在於:

    非靜態成員函式有這個指標,靜態成員函式不屬於乙個物件,它與任何物件都沒有關係,靜態成員函式沒有這個指標。

    這確定靜態成員函式無法訪問此類中的非靜態成員。 在 C++ 程式中,靜態成員函式主要用於訪問靜態資料成員,而不是非靜態成員。 假設靜態成員函式中有以下語句:

    cout<”。比如cout<<

  8. 匿名使用者2024-01-25

    讓我們從變數開始:

    1:桿件變數:在變數電子部分定義的變數稱為累桿件變數。 也就是說,成員變數在整個類中是有效的,可以直接呼叫類中的方法來使用成員變數。

    但是,成員變數進一步分為例項成員變數(稱為例項變數)和類變數(稱為靜態變數)。

    例項變數:是我們通常定義的變數,比如int a; a 是例項變數。

    靜態變數:在定義之前應新增靜態變數,如static int a; 這個a是乙個靜態變數,當static加入到變數的定義之前,就意味著這個變數在發生變化的時候就發生了變化,那麼每次使用這個變數,這個變數就已經發生了變化,也就是所謂的無處不在的變化,靜態變數的生命週期就是整個源程式, 但該變數只能在定義變數的函式中使用。

    退出函式後,即使該變數繼續存在,也無法使用該變數。

    2:區域性變數:方法體中定義的變數和方法的引數稱為區域性變數。

    這意味著區域性變數僅在定義它的方法內有效,而該方法之外的其他方法不能使用它。 如果區域性變數的名稱與成員變數的名稱相同,則成員變數處於隱藏狀態,即該成員變數在此方法中暫時無效,以區域性變數定義為準。

    簡而言之,這是如何做到這一點

    二。 長期提到的方法是建構函式、類方法和例項方法。

    建構函式是名稱與類名相同,並且沒有型別。

    類方法和例項方法之間的區別在於,類方法前面有乙個靜態修飾符,而例項方法不是靜態的。 例項方法可以對類變數和例項變數進行操作,而類方法只能對類變數進行操作。

  9. 匿名使用者2024-01-24

    以 @ 開頭的變數是例項變數,屬於特定物件。 class person def initialize(name, gender, age) @name = name @gender = gender @age = age end end 在上面的示例中,@name、@gender、@age都是例項變數。

  10. 匿名使用者2024-01-23

    成員變數和例項變數是一回事,不需要顯示初始賦值; 成員方法是在物件中定義的方法; 區域性變數是在方法內容中定義但必須初始化的變數; 靜態變數是用靜態修飾的變數,與例項無關,而是與類相關。

  11. 匿名使用者2024-01-22

    靜態變數不需要附加到物件例項,並且在建立例項物件之前無法呼叫例項變數。

  12. 匿名使用者2024-01-21

    成員變數可以在乙個類中使用,區域性變數只能用在自己的方法中,不能用在其他方法中!!

  13. 匿名使用者2024-01-20

    成員變數和例項變數是一回事。 區域性變數在方法中宣告,或者是方法的引數。 靜態變數用靜態裝飾

  14. 匿名使用者2024-01-19

    最好閱讀本書並仔細檢視定義和示例。

  15. 匿名使用者2024-01-18

    不同的範圍 成員變數只能在類或當前物件存在時使用,而靜態變數可以從程式的開始到程式的結束使用。

  16. 匿名使用者2024-01-17

    成員變數和靜態變數之間的差異。

    1.兩個變數的生命週期不同。

    成員變數在物件建立時存在,並在物件為 ** 時釋放。

    靜態變數在載入類時存在,在類消失時消失。

    2.呼叫方式不同。

    成員變數只能由物件呼叫。

    靜態變數可以由物件呼叫,也可以由類名呼叫。

    3.不同的別名。

    成員變數也稱為例項變數。

    靜態變數也稱為類變數。

    4.資料儲存位置不同。

    成員變數儲存在堆記憶體中的物件中,因此它們也稱為特定於物件的資料。

    靜態變數資料儲存在方法區域(共享資料區域)的靜態區域,因此也稱為物件的共享資料。

    成員變數和靜態變數之間的差異。

    1.兩個變數的生命週期不同。

    成員變數在物件建立時存在,並在物件為 ** 時釋放。

    靜態變數在載入類時存在,在類消失時消失。

    2.呼叫方式不同。

    成員變數只能由物件呼叫。

    靜態變數可以由物件呼叫,也可以由類名呼叫。

    3.不同的別名。

    成員變數也稱為例項變數。

    靜態變數也稱為類變數。

    4.資料儲存位置不同。

    成員變數儲存在堆記憶體中的物件中,因此它們也稱為特定於物件的資料。

    靜態變數資料儲存在方法區域(共享資料區域)的靜態區域,因此也稱為物件的共享資料。

  17. 匿名使用者2024-01-16

    最直接的是,當你引用乙個靜態成員時,你不需要構建乙個物件,你可以直接用乙個類來訪問它;

  18. 匿名使用者2024-01-15

    靜態變數可能有兩種型別。

    函式中的靜態變數意味著變數的生存期是全域性的,可以想象它實際上是在函式之外宣告的,當然由於可見範圍的原因,其他函式無法訪問它。

    函式外部的靜態變數應該是本地變數,不同之處在於沒有其他檔案可以通過 extern 訪問它。

    C語言中似乎沒有物件導向的詞。

  19. 匿名使用者2024-01-14

    不。 C++的作用域從未聽說過以後可以更改,變數的作用域是在宣告時確定的,您只能更改其值,而不能更改其作用域。 下面是乙個了解區域性靜態和動態變數的示例:

    1.讓我們從區域性靜態變數開始:區域性靜態變數只初始化一次,區域性靜態變數的生存期貫穿呼叫函式(宣告所在的位置)之後的一段時間。 例如,為了更清楚起見,執行結果在右側。

    2.了解 main 函式的動態變數:動態變數的生存期僅在 main 函式的大括號內,必須宣告才能使用。

    3.您無法訪問 main 函式中其他函式的區域性靜態變數,結果將是錯誤的。

    4.不能在同一作用域中宣告多個同名的變數,但如果是巢狀關係,則會導致重寫,如下所示

    筆記:

    不管是什麼型別的變數,我們都要注意它的範圍和初始化了多少次,否則我們會在這麼小的地方出錯,這會導致整個專案出現問題,故障排除很煩人。

  20. 匿名使用者2024-01-13

    定義變數後,無法修改型別,但可以為其他操作定義另乙個變數。 無論如何,乙個變數型別是不能改變的,但可以轉換,但是需要有乙個轉換目標,這需要使用另乙個定義的變數。

  21. 匿名使用者2024-01-12

    main 函式的動態變數會將 main 函式中對此變數的所有訪問定向到 main 函式中的動態變數。 所以不會有兩個。

    如下**:包括

    void fun()

    intmain(void)

    輸出為:

    in main i=9

    in fun ()i=8

    在主 i=9 的樂趣之後可以證明。

相關回答
7個回答2024-08-21

非靜態成員也稱為成員變數,兩者的區別如下: >>>More

5個回答2024-08-21

例如,如果有乙個類 a,則它有乙個靜態成員 x; 定義為靜態 int x; >>>More

17個回答2024-08-21

當然不是,它們儲存在記憶體的不同位置。

14個回答2024-08-21

1. 新品

new 是 C++ 的關鍵字。 它被視為運算子,如 +、. 此操作的結果是應用指定資料型別大小的記憶體段。 >>>More

11個回答2024-08-21

1.將 i 定義為靜態,然後使用下面的語句呼叫它。 >>>More