一、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];
}
三、函数设计