1樓:來自國家大劇院惜玉憐香 的白肩雕
第一個問題解釋如下:
把形參定義為引用型別&可以提高引數傳遞的效率。引用型別的形參與相應的實參佔有相同的空間,其取得是該變數的地址,所以引用型別又稱hidden point(隱藏的指標)。
當把形參定義為引用型別時,為了防止通過引用型別改變相應實參的值,可以在引用形參時加上const,表示不能修改所引用的值。如:
void f(const int &x)
第二個問題:
常成員的賦值可以在類內,const int x=3;可以在任何地方寫,只不過強調x不可以改變之而已。你想表達的是static的用法。
在c++中,採用靜態資料成員是來解決同一個類的物件共享資料的問題。
靜態資料的成員必須要在類的外部給出它的定義,定義時可以初始化。如:
class a
......
};int a::shared=0; //靜態資料成員的定義
2樓:匿名使用者
static成員要在類外部定義和初始化.
引用,沒有預設建構函式的類成員,必須在初始化列表裡初始化.
另外,賦值和初始化是兩碼.
詳見c++ primer第四版.
3樓:匿名使用者
誰說常成員賦值要在外面。 是 static成員要在外面實現和初始化
4樓:小唐文件屋
不懂,學習中。。。。。。
c成員函式指標問題
小李飛刀再飛刀 好像報錯這兩種型別是不匹配的。void form ptr void mainform func 給他強制轉換一下 typedef void form ptr 但是還是不明白你這樣做的目的何在。呼叫另外一個類的成員函式,為什麼不通過物件呢?或者靜態成員函式也行啊 要不然宣告contro...
C類的問題基類成員函式可以呼叫子類的成員函式嗎
父類 子類 這種關係,本來設計就是把 具備共性的東西放在父類裡,不具備共性的放在子類裡.嚴格來說,父類是不能去呼叫某個子類特有的介面的.你這樣瞎搞 就破壞了這種構架,只能讓程式紊亂.所以你可以這樣子 在父類立面設計一個通用介面,然後對這個通用介面下指令,子類收到這個訊息,大多不處理,只有那個特殊的子...
c 整型指標賦值的問題,C 整型指標賦值的問題
丁文博 你好,你應該通過malloc申請空間,或者是用陣列 現在你這樣p i指向的是一個未知空間,可能是系統需要用到的,不允許你更改內容,即使允許你這樣也是不對的,因為這個空間屬於這個程式,用它就是錯誤的。 你只申請了一個int的空間,卻操作了256個int,當然不對了 韓亭晚區溪 char p a...