class A{
public:
int a;
int method(int,int);//这里是类成员函数的申明
//mehtod成员函数定义
};
<pre>以上代码是类的定义。
在A.cpp里的代码如下:
int A::method(int a,int b){
return (a+b);
} //这里是类成员函数的定义
类成员函数的定义可以放在类的定义里面,也可以放在类定义外定义。但是一般是放在类的定义外定义
在一个类中,使用一个后面定义的类的时候,也要做申明。
比如:
class CObject;//CObject申明
struct CRuntimeClass
{
// Attributes
LPCSTR m_lpszClassName;
int m_nObjectSize;
UINT m_wSchema; // schema number of the loaded class
CObject* (PASCAL* m_pfnCreateObject)(); // NULL => abstract class
CRuntimeClass* m_pBaseClass;
// CRuntimeClass objects linked together in simple list
static CRuntimeClass* pFirstClass; // start of class list
CRuntimeClass* m_pNextClass; // linked list of registered classes
};
class CObject
{
public:
CObject::CObject() {
}
CObject::~CObject() {
}
virtual CRuntimeClass* GetRuntimeClass() const;
public:
static CRuntimeClass classCObject;
};