回覆列表
  • 1 # 使用者2953035810118

    當系統載入類或建立該類的例項時,系統自動為成員變數分配記憶體空間,設定預設值,然後,為成員變數指定初始值。但是,如下所示:

    class test{

    int a = b+1;

    int b =1;

    }提示錯誤!

    執行順序不是大致可以認為是這樣麼:

    int a = 0;

    int b = 0;

    a = b+1;

    b = 1;

    (感覺大致就是這樣子吧)

    如果是這樣的話上邊當int a = b+1時b應該已經有預設值了,但為什麼報錯啊?

    表達有點亂,求大神解釋!!!

    建立類的例項時,系統自動分配記憶體空間,設定預設值,然後,為成員變數指定初始化(如果有的話)。

    class test{

    int a;

    }

    像這樣,在程式中例項化並輸出會輸出 a 為 0,因為預設值的問題,

    如果像這樣 class test{

    int a =1;

    }

    因為有初始化所以輸出為a 為1。

    總之當成員變數分配記憶體後,應該是有預設值的,順序應該是:

    int a;

    int b;(這裡應該都在分配記憶體時指定預設值為0了)

    然後 再執行初始化:

    a = b+1;

    b = 1;

    就這樣子吧比如下面程式是對的

    class{

    {

    a = 1;

    }

    int a =2;

    }

  • 中秋節和大豐收的關聯?
  • 哈登今年共命中多少三分?能重新整理庫裡的402神蹟嗎?