作者hn12404988 (Willy)
看板C_and_CPP
标题[问题] 避免「变数名称」冲突「class名称」
时间Thu May 11 12:04:47 2017
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名称)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.165.112.226
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1494475490.A.850.html
1F:→ james732: 有的时候觉得写程式最困难的是命名XD 05/11 12:19
2F:推 boss0405: 所以一堆code前面加个底线,或是前後都加个底线,只能说 05/11 12:26
3F:→ boss0405: 命名的时候不要太common 05/11 12:26
4F:→ descent: data member 我後面会加底线, int md_; 05/11 12:29
5F:→ tinlans: class name 用 camel case 命名啊 05/11 12:36
6F:推 Sidney0503: 专案namespcae 可以参考boost的格式 05/11 13:05
7F:推 k387259: 我都是用namespace处理掉 05/11 13:50
8F:推 BlazarArc: namespace在哭 05/11 15:00
9F:推 s4300026: 我是类别和方法,开头第一字一律大写,变数第一字一律小 05/11 17:45
10F:→ s4300026: 写 05/11 17:45
11F:→ s4300026: 应该说自定义型别第一字大写 05/11 17:46
12F:→ rodion: follow好的naming convention 就不会出现这种情形 05/11 17:46
13F:推 steve1012: 自定义class name 通常会规定命名规则不太会冲到 05/11 21:53