私たちはまず、私のエッセイああを見て本を読む必要があります。そうでなければ、私は原則を知りません。そして私は、チュートリアルを書いて、彼らはメモを書くことを忘れていることを恐れていませんよ。
私は幾何学のクラスに基づいて指定されたすべてのファイルを置く、のVector3、Normal3、Point3と、ポイント2、などが含まれてい
クラスの宣言:
#include "../../Types.h" クラスPoint3と; クラスNormal3; クラスマトリックス; クラスのVector3 { 公衆: Vector3(); 〜するVector3(); するVector3(ldouble A)。 するVector3(ldouble A、ldouble B、ldouble C); Vector3(のconstのVector3&V)。 Vector3(のconst Point3と&P); (Normal3&N CONST)のVector3。 CONST(のVector3&V CONST)するVector3演算子+。 するVector3&演算子+ =(CONSTのVector3&V)。 Vector3 operator-(のVector3のconst&V)のconst; するVector3&演算子 - =(CONSTのVector3&V)。 するVector3演算子*(ldouble A)CONST。 するVector3&演算子* =(ldouble A)。 するVector3オペレータ/(ldouble F)CONST。 するVector3&演算子/ =(ldouble F)。 するVector3 operator-()constは、 (するVector3&V CONST)のVector3&演算子=。 CONST(のVector3&V CONST)ブール演算子==。 !ブール演算子=一定(のVector3&Vのconst)。 ldouble長()constは、 ldouble length_squared()constは、 空ノーマライズ(); 友人のVector3演算子*(ldouble A、constののVector3&V)。 (するVector3&V2のconstのVector3&V1、constの)友人ldouble演算子*; (のVector3&V1、constののVector3&V2のconst)友人のVector3演算子^; 友人のVector3の正規化(のVector3&constのV)。 友達のstd :: ostreamに&演算子<<(のVector3のconstのstd :: ostreamに&OS、&V); 友達のstd ::はistream&演算子>>(STD ::はistream&、のVector3&Vです)。 ldouble X、Y、Z。 }。
私たちは、再び練習問題を書くためにいくつかの深刻な読書を達成する、本は理解するように書かれています。
私たちは文句を言わないだろうコンパイルするには、ヘッダファイルには、各ヘッダファイルがそれを繰り返さないで、事前にこれを定義する必要があります後に、重複したコンパイラエラーを防ぐ.... #ifndefの使用する必要があります。
そして、CPPファイルはpch.hを含むように
これらは、ハコンパイルすべてのベースのマルチドキュメント管理と知識です、あなたが所有し、より洗練され、合格しませんでした。私は、あなたは確かに、この上何の問題も言いませんでした。