5
回答
C++ 类中函数用途?
华为云实践训练营,热门技术免费实践!>>>   

把私有函数放在类的数据域,主要什么作用? 每次被其他函数调用。

举报
盖姆欧沃
发帖于6年前 5回/563阅
共有5个答案 最后回答: 6年前

区别其他函数,就是对私有成员的专享操作。只有私有成员参与的计算。如果一个私有函数,没有这些工作,你做成私有也无所谓的。但是从面向对象分析的角度来看,就是不合理的。当然不合理只会在系统调整时,对你带来额外的开发负担而已。

再简单点说。私有函数,严格的说,是不需要入口参数的。因此,极端的面向对象,私有函数,如果有入口参数,要么是多余,要么你需要改成个非私有的,再调用私有的。

其中的一个作用详见《effective c++》第三版的第六条款,若不想使用编译器自动生成的函数就该明确拒绝,为了阻止一些自动生成的函数如复制函数,将之声明为private却不实现
楼上的哥们儿,你答的是对的,比如:用singaltone模式时,一般类的默认构造函数是用private修饰并显式声明,而不实现,就是为了让类的够构造只通过方法:static classname& instance()来创建。但是你的回答不是LZ想要得,LZ说了,“每次被其他函数调用”,说明这个方法是比较通用的,通过提炼的,避免同样的代码片段在本类其他方法里反复出现,这样代码就重复了,程序体积也增大了,如有改动到处都得改。所以,哥们儿,你答非所问了。
顶部