头文件:类的定义在头文件,成员属性的声明,成员函数的声明...变量、函数的 声明
源文件:变量,函数的定义,类成员的定义...
头文件:单独的头文件不参与编译器的编译源文件:每个源文件自上而下独立进行编译的
static void funsta();
void funcon() const;
virtual void funvir();
定义时:
//static virtual 去掉关键字,const 常函数保留关键字
void CTest::funsta()
{
}
void CTest::funcon() const
{
}
void CTest::funvir()
{
}
构造析构:前面加上类名作用域
CTest::CTest()
{
}
CTest::~CTest()
{
}
定义静态变量:
static int m_b;
//类中的静态,在类外定义初始化
int CTest::m_b = 2;
*头文件重复包含
#pragma once:告诉编译器,当前头文件在其他源文件中只包含一次 优点:简单好用,直接与编译器沟通,效率高。
基于宏的逻辑判断:使用复杂,容易出错,宏名字可能会重复导致程序出错,效率略低
#ifndef 宏名字 //预处理指令,判断宏是否不存在 #ifndef 宏名字(和上面一样)
...代码...
#endif
#ifndef __A_H__
#define __A_H__
class A {
public:
int m_a1;
A();
};
#endif