《高品質程式設計指南:C++/C語言》 林銳

來源:互聯網
上載者:User
一、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];  }
三、函數設計
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.