Hi, 剛遇到個問題,花了十幾分鐘才找到錯誤點
不是十幾分鐘寶貴,而是我現在的C++知識不曉得要怎麼避免日後遇到同樣問題
問題以下:
例如在一個class中,宣告一個自己寫的class,例如這class叫「now_time」
但是這個class已經繼承了兩個class,其中一個非常古老的class裡面有個變數是int
也叫做「now_time」
protected:
int now_time //檔案的深處
protected:
now_time my_time //剛寫的新class
剛剛g++編譯出現錯誤,但是沒跟我說這個衝突,只說now_time is not a type
所以讓我一開始以為是我#include出錯的問題
但找到問題出在class name衝突variable name後,我不太知道有甚麼好的方法可以日後避免?
(假設是個大型專案,OOP繼承好幾層,不可能用頭腦記所有class名稱)
所以一堆code前面加個底線,或是前後都加個底線,只能說命名的時候不要太common
作者:
descent (「雄辯是銀,沉默是金」)
2017-05-11 12:29:00data member 我後面會加底線, int md_;
作者:
tinlans ( )
2017-05-11 12:36:00class name 用 camel case 命名啊
作者:
k387259 (台灣李宏感)
2017-05-11 13:50:00我都是用namespace處理掉
作者:
BlazarArc (Midnight Sun)
2017-05-11 15:00:00namespace在哭
作者:
s4300026 (s4300026)
2017-05-11 17:45:00我是類別和方法,開頭第一字一律大寫,變數第一字一律小寫應該說自定義型別第一字大寫
作者:
rodion (r-kan/reminder)
2017-05-11 17:46:00follow好的naming convention 就不會出現這種情形
自定義class name 通常會規定命名規則不太會衝到