C++代码风格与规范
/**/
/*
* Copyright(c) 2008 by Microsoft Corporation
* All right reserved.
*
* 文件名称: polymorphism.h
* 文件标识:
* 描 述: 多态性演示
*
* 当前版本: 1.1
* 作 者: James
* 完成日期: 2/26/2008
*
* 取代版本: 1.0
* 作 者: Kacy
* 完成日期: 2/24/2008
*/
#ifndef _POLYMORPHISM_H_
#define _POLYMORPHISM_H_
const int MAX_LENGTH = 100 ; // 常量全用大写的字母,用下划线分割单词
int g_howManyPeople; // 不得已需要全局变量,加前缀g_,表示global
class Shape; // 类名用大写字母开头的单词组合而成,如class LeafNode, class Person
void Draw(Shape * aShape); // 全局函数的名字应该使用"动词"或者"动宾词组",如DrawBox()
class Shape
{
public:
virtual void Draw(void)=0;
} ;
// 类之间的空行
class Circle : public Shape
{
//采用以行为为中的类版式:将public类型的函数写在前面,而将private类型的数据写在后面
public:
Circle() : m_radius(0.0) {}
virtual void Draw(void); //函数名用大写字母开关的单词组合而成,如GetName(),Eat()
double GetRadius(); //用正确的反义词组命名相反动作的函数,如GetAge()和SetAge()
void SetRadius(double radius); //参数用小写字母开头的单词组合而成,如(int drawMode)
private:
//类的数据成员加前缀_m,表示member
double m_radius; //变量用小写字母开头的单词组合而成,如drawMode, newValue, oldValue
static int m_s_numberOfCircle; //静态变量用s_开头表示static
} ;
class Cube : public Shape
{
public:
virtual void Draw(void);
} ;
class Sphere : public Shape
{
public:
virtual void Draw(void);
} ;
#endif
* Copyright(c) 2008 by Microsoft Corporation
* All right reserved.
*
* 文件名称: polymorphism.h
* 文件标识:
* 描 述: 多态性演示
*
* 当前版本: 1.1
* 作 者: James
* 完成日期: 2/26/2008
*
* 取代版本: 1.0
* 作 者: Kacy
* 完成日期: 2/24/2008
*/
#ifndef _POLYMORPHISM_H_
#define _POLYMORPHISM_H_
const int MAX_LENGTH = 100 ; // 常量全用大写的字母,用下划线分割单词
int g_howManyPeople; // 不得已需要全局变量,加前缀g_,表示global
class Shape; // 类名用大写字母开头的单词组合而成,如class LeafNode, class Person
void Draw(Shape * aShape); // 全局函数的名字应该使用"动词"或者"动宾词组",如DrawBox()
class Shape
{
public:
virtual void Draw(void)=0;
} ;
// 类之间的空行
class Circle : public Shape
{
//采用以行为为中的类版式:将public类型的函数写在前面,而将private类型的数据写在后面
public:
Circle() : m_radius(0.0) {}
virtual void Draw(void); //函数名用大写字母开关的单词组合而成,如GetName(),Eat()
double GetRadius(); //用正确的反义词组命名相反动作的函数,如GetAge()和SetAge()
void SetRadius(double radius); //参数用小写字母开头的单词组合而成,如(int drawMode)
private:
//类的数据成员加前缀_m,表示member
double m_radius; //变量用小写字母开头的单词组合而成,如drawMode, newValue, oldValue
static int m_s_numberOfCircle; //静态变量用s_开头表示static
} ;
class Cube : public Shape
{
public:
virtual void Draw(void);
} ;
class Sphere : public Shape
{
public:
virtual void Draw(void);
} ;
#endif
/**/
/*
* Copyright(c) 2008 by Microsoft Corporation
* All right reserved.
*
* 文件名称: polymorphism.cpp
* 文件标识:
* 描 述: 多态性演示
*
* 当前版本: 1.1
* 作 者: James
* 完成日期: 2/26/2008
*
* 取代版本: 1.0
* 作 者: Kacy
* 完成日期: 2/24/2008
*/
#include < iostream >
#include "p olymorphism.h "
using namespace std;
/**/ /*
* 函数功能: 画圆
* 输入参数: 空
* 输出参数: 无
* 返 回 值: 空
*/
void Circle::Draw( void )
{
cout<<"Draw a Circle!"<<endl;
}
double Circle::GetRadius()
{
return m_radius;
}
void Circle::SetRadius( double radius)
{
m_radius=radius;
}
// 函数之间的空行
void Cube::Draw( void )
{
cout<<"Draw a Cube!"<<endl;
}
void Sphere::Draw( void )
{
cout<<"Draw a Sphere!"<<endl;
}
void Draw(Shape * aShape)
{
aShape->Draw();
}
void main()
{
Circle aCircle;
Cube aCube;
Sphere aSphere;
//函数内部的空行(加在逻辑上不太相关的语句之间)
Draw(&aCircle);
Draw(&aCube);
Draw(&aSphere);
Circle anotherCircle; //变量的名字当使用"形容词+名词"
double radius; //变量的名字当使用"名词"
anotherCircle.SetRadius(2.33);
radius=anotherCircle.GetRadius();
cout<<radius<<endl;
}
* Copyright(c) 2008 by Microsoft Corporation
* All right reserved.
*
* 文件名称: polymorphism.cpp
* 文件标识:
* 描 述: 多态性演示
*
* 当前版本: 1.1
* 作 者: James
* 完成日期: 2/26/2008
*
* 取代版本: 1.0
* 作 者: Kacy
* 完成日期: 2/24/2008
*/
#include < iostream >
#include "p olymorphism.h "
using namespace std;
/**/ /*
* 函数功能: 画圆
* 输入参数: 空
* 输出参数: 无
* 返 回 值: 空
*/
void Circle::Draw( void )
{
cout<<"Draw a Circle!"<<endl;
}
double Circle::GetRadius()
{
return m_radius;
}
void Circle::SetRadius( double radius)
{
m_radius=radius;
}
// 函数之间的空行
void Cube::Draw( void )
{
cout<<"Draw a Cube!"<<endl;
}
void Sphere::Draw( void )
{
cout<<"Draw a Sphere!"<<endl;
}
void Draw(Shape * aShape)
{
aShape->Draw();
}
void main()
{
Circle aCircle;
Cube aCube;
Sphere aSphere;
//函数内部的空行(加在逻辑上不太相关的语句之间)
Draw(&aCircle);
Draw(&aCube);
Draw(&aSphere);
Circle anotherCircle; //变量的名字当使用"形容词+名词"
double radius; //变量的名字当使用"名词"
anotherCircle.SetRadius(2.33);
radius=anotherCircle.GetRadius();
cout<<radius<<endl;
}
int
width
=
10
;
//
定义并初始化width
int height = 10 ; // 定义并初始化height
int depth = 10 ; // 定义并初始化depth
int height = 10 ; // 定义并初始化height
int depth = 10 ; // 定义并初始化depth
if
(condition)
{
return x;
}
else
{
return y;
}
{
return x;
}
else
{
return y;
}
return
(condition
?
x : y);
for
(initialization; condition; update)
{
//program code
}
{
//program code
}
//
空行
while (condition)
{
statement1;
//空行
if(condition)
{
//program code
}
else
{
//program code
}
//空行
statement2;
} // end of while
while (condition)
{
statement1;
//空行
if(condition)
{
//program code
}
else
{
//program code
}
//空行
statement2;
} // end of while
void
Func(
const
int
*
x,
const
int
*
y,
const
int
*
z)
{
//program code
}
{
//program code
}
if
((very_longer_variable1
>=
very_longer_variable2)
&& (very_longer_variable3 <= very_longer_variable4)
&& (very_longer_variable5 <= very_longer_variable6)
{
//program code
}
&& (very_longer_variable3 <= very_longer_variable4)
&& (very_longer_variable5 <= very_longer_variable6)
{
//program code
}
HWND CreateWindow(LPCTSTR lpClassName,
//
registered class name
LPCTSTR lpWindowName, // window name
DWORD dwStyle, // window style
int x, // horizontal position of window
int y, // vertical position of window
int nWidth, // window width
int nHeight, // window height
HWND hWndParent, // handle to parent or owner window
HMENU hMenu, // menu handle or child identifier
HINSTANCE hInstance, // handle to application instance
LPVOID lpParam ); // window-creation data
LPCTSTR lpWindowName, // window name
DWORD dwStyle, // window style
int x, // horizontal position of window
int y, // vertical position of window
int nWidth, // window width
int nHeight, // window height
HWND hWndParent, // handle to parent or owner window
HMENU hMenu, // menu handle or child identifier
HINSTANCE hInstance, // handle to application instance
LPVOID lpParam ); // window-creation data
注:本文摘自林锐的<<高质量程序设计指南-C++/C语言>>