2016-08-09 6 views
0

私はプログラミングが初めてで、現在C++を学んでいます。私は使用しているチュートリアルでこれを見つけました。私の質問:getNameとsetName関数で変数 'name'を使用すると、後でprivateで宣言される前にどのように使用できますか? C++は上から下へ順次言語ではありませんか? enter image description hereC++クラスの変数宣言と使用順序?

+4

ドン」ですコードの画像を投稿する。コードを代わりにテキストとしてコピーします(エディタで "code samlpe"ボタンを使用することを忘れないでください)。 – user2079303

+0

[データメンバの宣言前にメンバ関数内のデータメンバのアクセス可能性]の可能な複製(http://stackoverflow.com/questions/9783473/accessibility-of-data-member-in-member-function-before-declaration-of -data-membe) – SpamBot

答えて

3

これは、C++コンパイラが賢明で、最初にクラス宣言全体(それが持つ可能性のある定義と共に)を読み込んでクラスメンバーを「分離」し、クラスとその内容に関する内部構造を構築します。クラス構造全体が既に分かっているときに、クラスメソッドがコンパイルされている後の段階です。たとえば、これは親クラスのメソッドと変数がどのようにアクセス可能であるかを示しています。

あなただけのC++を学ぶために始めているので、私はあなたには、コンパイラの内部で穴するつもりはないが、このテーマに関する良い本はhttps://en.wikipedia.org/wiki/Compilers:_Principles,_Techniques,_and_Toolsまたは「C現代コンパイラの実装」(https://www.cs.princeton.edu/~appel/modern/c/

関連する問題