一、C++ 檔案結構
C++/C 程式的標頭檔以“.h”為尾碼,C 程式的定義檔案以“. c”為尾碼,C++程式
的定義檔案通常以“.cpp”為尾碼
(1)、標頭檔結構(*.h):
標頭檔由三部分內容組成:
(1)標頭檔開頭處的著作權和版本聲明。
(2)預先處理塊。
(3)函數和類結構聲明等。
為了防止標頭檔被重複引用,應當用ifndef/define/endif 結構產生預
處理塊。
用#include <filename.h> 格式來引用標準庫的標頭檔。
用#include “filename.h” 格式來引用非標準庫的標頭檔。
eg:
#ifndef GRAPHICS_H // 防止 graphics.h 被重複引用
#define GRAPHICS_H
#include <math.h> // 引用標準庫的標頭檔
#include “myheader.h” // 引用非標準庫的標頭檔
void Function1(); // 全域函式宣告
class Box // 類結構聲明
{
};
#endif
(2)、定義檔案的結構:
定義檔案開頭處的著作權和版本聲明
對一些標頭檔的引用。
程式的實現體(包括資料和代碼)。
#include “graphics.h”// 引用標頭檔
// 全域函數的實現體
void Function1(?)
{
}
// 類成員函數的實現體
void Box::Draw(?)
{
}
二、命名:
【規則 3-2-2】變數和參數用小寫字母開頭的單片語合而成。
例如:
BOOL flag;
int drawMode;
【規則 3-2-3】常量全用大寫的字母,用底線分割單詞。
例如:
const int MAX = 100;
const int MAX_LENGTH = 100;
【規則 3-2-4】靜態變數加首碼s_(表示static)。
例如:
void Init(…)
{
static int s_initValue; // 靜態變數
…
}
【規則 3-2-5】如果不得已需要全域變數,則使全域變數加首碼g_(表示global)。
例如:
int g_howManyPeople; // 全域變數
int g_howMuchMoney; // 全域變數 【規則 3-2-6】類的資料成員加首碼m_(表示member),這樣可以避免資料成員與
成員函數的參數同名。
例如:
void Object::SetValue(int width, int height)
{
m_width = width;
m_height = height;
}
三、常量 常量用來表示那些將在程式中多次出現的數字或字串。 需要對外提供的常量一般放在標頭檔中。不需要發布的放在定義檔案的頭部。 const int MAX = 100 類中的常量: 不能在類中初始化const資料成員。 class A { const int SIZE = 100; int array[SIZE];
//ERROR 類對象未建立,編譯器不知道SIZE 值大小。 }
const資料成員只能在建構函式初始化列表中進行。 class A { A(int size); const int SIZE; }
調用:A a(100)
使用枚舉類型可以在整個類中建立恒定的常量。 class A { enum { SIZE1 = 100, SIZE2 = 200};//枚舉常量。 int array[SIZE1]; int array[SIZE2]; }
三、函數設計