将方法从公共转移到私有的效果

时间:2014-01-21 20:04:00

标签: c++

我正在做一些代码清理工作,并开始想知道某些事情。

假设我有一个程序可以编译,运行,并且通常会执行它应该执行的操作。

现在我将某个类成员方法从公共移动到私有(或受保护),代码仍然可以编译而没有错误。
理论上是否有可能出现这样一种场景,即程序的行为会因代码变化而发生变化? 如果是这样,我很乐意看到一个例子。

2 个答案:

答案 0 :(得分:0)

方法的访问说明符显式不会影响查找(在查找完成后会检查它)所以我不相信在没有未定义的行为的情况下可能会有任何隐藏的功能更改(例如,您有另一个函数仍然公开的类的版本。)

答案 1 :(得分:0)

查找后检查访问控制,以确保您的建议不会改变程序的行为。请记住,重新排序成员变量(甚至是私有变量)可能会改变行为,因为它们按照它们在类声明中出现的顺序构造。