我是编程新手,我目前正在学习C ++。我在我正在使用的教程中遇到过这个问题。我的问题:变量' name'在getName和setName函数之前使用它甚至在声明后才会在private下发生?不是C ++是一种自上而下的顺序语言吗?enter image description here
答案 0 :(得分:3)
它有效,因为C ++编译器很聪明并且最初加载整个类声明(连同它可能具有的任何定义)“分离”类成员,构建关于类及其内容的内部结构,以及稍后阶段正在编译类方法,当整个类结构已经知道时。例如,这也是父类的方法和变量可以访问的方式......如果没有完全了解类及其整个层次结构,这将无法工作。
由于你刚刚开始学习C ++,我不会厌烦你的编译器内部,但是关于这个主题的好书是https://en.wikipedia.org/wiki/Compilers:_Principles,_Techniques,_and_Tools或“C中的现代编译器实现”({{3} })