C++ 类 变量声明和使用顺序?
C++ classes variables declaration and usage sequence?
我是编程新手,目前正在学习 C++。我在我正在使用的教程中遇到了这个。我的问题:变量 'name' 如何在 getName 和 setName 函数中使用,甚至在它被声明之前发生在 private 下? C++ 不是自上而下的顺序语言吗?enter image description here
它有效,因为 C++ 编译器很聪明,最初加载整个 class 声明(连同它可能具有的任何定义)"separates" class 成员,构建内部关于 class 及其内容的结构,并在稍后阶段编译 class 方法,此时整个 class 结构已为人所知。例如,这也是访问父 class 的方法和变量的方式......如果不完全了解 class 及其整个层次结构,这将无法工作。
由于您刚刚开始学习 C++,我不会让您厌烦编译器的内部结构,但是关于这个主题的一本好书是 https://en.wikipedia.org/wiki/Compilers:_Principles,_Techniques,_and_Tools or "Modern Compiler Implementation in C" (https://www.cs.princeton.edu/~appel/modern/c/)
我是编程新手,目前正在学习 C++。我在我正在使用的教程中遇到了这个。我的问题:变量 'name' 如何在 getName 和 setName 函数中使用,甚至在它被声明之前发生在 private 下? C++ 不是自上而下的顺序语言吗?enter image description here
它有效,因为 C++ 编译器很聪明,最初加载整个 class 声明(连同它可能具有的任何定义)"separates" class 成员,构建内部关于 class 及其内容的结构,并在稍后阶段编译 class 方法,此时整个 class 结构已为人所知。例如,这也是访问父 class 的方法和变量的方式......如果不完全了解 class 及其整个层次结构,这将无法工作。
由于您刚刚开始学习 C++,我不会让您厌烦编译器的内部结构,但是关于这个主题的一本好书是 https://en.wikipedia.org/wiki/Compilers:_Principles,_Techniques,_and_Tools or "Modern Compiler Implementation in C" (https://www.cs.princeton.edu/~appel/modern/c/)