[问题] 避免“变量名称”冲突“class名称”

楼主: hn12404988 (Willy)   2017-05-11 12:04:47
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名称)
作者: james732 (好人超)   2017-05-11 12:19:00
有的时候觉得写程式最困难的是命名XD
作者: boss0405 (boss)   2017-05-11 12:26:00
所以一堆code前面加个底线,或是前后都加个底线,只能说命名的时候不要太common
作者: descent (“雄辩是银,沉默是金”)   2017-05-11 12:29:00
data member 我后面会加底线, int md_;
作者: tinlans ( )   2017-05-11 12:36:00
class name 用 camel case 命名啊
作者: Sidney0503 (Sidney0503)   2017-05-11 13:05:00
专案namespcae 可以参考boost的格式
作者: k387259 (台湾李宏感)   2017-05-11 13:50:00
我都是用namespace处理掉
作者: BlazarArc (Midnight Sun)   2017-05-11 15:00:00
namespace在哭
作者: s4300026 (s4300026)   2017-05-11 17:45:00
我是类别和方法,开头第一字一律大写,变量第一字一律小写应该说自定义型别第一字大写
作者: rodion (r-kan/reminder)   2017-05-11 17:46:00
follow好的naming convention 就不会出现这种情形
作者: steve1012 (steve)   2017-05-11 21:53:00
自定义class name 通常会规定命名规则不太会冲到

Links booklink

Contact Us: admin [ a t ] ucptt.com