一、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];




}








三、函数设计