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 通常会规定命名规则不太会冲到