用的是OMNet++ 使用的語言是C++
結果碰到了一些C++的問題
總覺得寫太久JAVA對C++掌握度變好低阿
之後再把問題補上來
- external const
參考
一個global的const variable 另一個檔案不能直接extern來用
因為在C++ 只要宣告const就是internal linkage 也就是只能在同一個編譯單元(檔案)來使用
所以即使加extern了也沒辦法使用 只能寫到.h檔 在include來使用囉
大概是受JAVA影響
- constructor call constructor
大概是受JAVA影響
總覺得應該是很直覺的
沒想到在C++不能在constructor裡面call 另一個constructor!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
所以如果有共同的建構子部分 只好取出來另寫一個fucntion呼叫
但事實上你可以call 另一個constructor
但會發現他會蓋掉另一個constructor的初始化結果
不同的constructor 可能會產生一個自己的物件吧(我猜測)
大一時 介紹到了new和operator new
差別主要在new會呼叫建構子 operator new只會分配記憶體 不會呼叫建構子
但沒想到(或是忘了?) 還有上面那種用法 只會呼叫建構子
看第二個參考資料的範例就會很明白了
new = operator new + new (this) ClassName()
應該可以這樣說吧
沒有留言:
張貼留言