クラス宣言の実例
差し障りの無い実例を挙げる。今までは、ソース内にメモ書きだったものが、文書に入る。ソースのフォーマティングのための見出しも文書の構造として反映される。
//! ファイルシステムのノード(ディレクトリまたはファイル)の情報を表すクラス /*! 次の3つのメンバーは、 Windows API で使われる struct _WIN32_FIND_DATA と名前も意味も同じである。 - #dwFileAttributes ファイル属性 - #ftCreateTime ファイルの作成日時 - #cFileName ファイル名(バッファ長: MAX_PATH) 次の2つは、利便性を考えて struct _WIN32_FIND_DATA から変更・追加した。 - #ullFileSize ファイルサイズ - #cFilePath ボリュームルートからのパス */ class FileInfoC { public: //! @name struct _WIN32_FIND_DATA と同名のメンバー //!@{ DWORD dwFileAttributes; //!< ファイル属性 //! ファイルの作成日時 /*! FILETIME構造体の定義は: ``` typedef struct _FILETIME { DWORD dwLowDateTime; // low 32 bits DWORD dwHighDateTime; // high 32 bits } FILETIME, *PFILETIME, *LPFILETIME; ``` SYSTEMTIMEとの相互変換は: ``` BOOL SystemTimeToFileTime( _In_ const SYSTEMTIME *lpSystemTime, _Out_ LPFILETIME lpFileTime ); BOOL FileTimeToSystemTime( _In_ const FILETIME *lpFileTime, _Out_ LPSYSTEMTIME lpSystemTime ); ``` 参考: ``` void GetSystemTime( _Out_ LPSYSTEMTIME lpSystemTime ); ``` */ FILETIME ftCreateTime; // ファイルの作成日時 char cFileName[MAX_PATH]; //!< ファイル名 //!@} //! @name 変更・追加したメンバー //!@{ ULONGLONG ullFileSize; //!< フィアルのサイズ char cFilePath[MAXFULLPATHLEN]; //!< ルートからのファイルフルパス //!@} // .... };