石家庄建站优化公司,网站框架搭建设计,南京哪个网站建设比较好,商务网站建设学期总结参考文章#xff1a;C中的类——类的定义和声明_c类的声明-CSDN博客
声明#xff1a;向程序表明类型和名字#xff0c;可以声明多次#xff1b;
定义#xff1a;分配存储空间#xff0c;只能定义一次#xff08;有了定义#xff0c;可以省略声明#xff09;#xf…参考文章C中的类——类的定义和声明_c类的声明-CSDN博客
声明向程序表明类型和名字可以声明多次
定义分配存储空间只能定义一次有了定义可以省略声明 变量
extern int a; //声明
int a; //定义函数
void test(); //声明
void test() {}; //定义 类
class A //声明
class A{}; //定义
1、编译器分两步处理类首先编译成员的声明然后才编译成员函数体。因此成员函数体可以随意使用类中的成员而无须在意这些成员出现的次序。
2、在声明之后定义之前该类是个不完全类型。不完全类型只能在非常有限的情况下使用可以定义指向这种类型的指针或引用因为指针或引用所占的内存空间是固定的64位操作系统指针类型占8个字节也可以作为一个已经声明但没有定义的函数的参数或返回类型。
3、对于一个类创建它的对象前必须完成类的定义否则编译器就无法了解这样的对象需要多少存储空间。类似的类也必须首先被定义然后才能用引用或者指针访问其成员。
代码编写规则
1、全局函数或变量在头文件A.h中定义。此时在源文件B.cpp、C.cpp同时包含头文件A.h编译器会提示重定义错误。类在头文件中定义时就不会出现上述问题
2、全局函数或变量在头文件A.h中定义且添加static关键字修饰为静态。此时在源文件B.cpp、C.cpp同时包含头文件A.h每个源文件都会创建一个函数或变量的独立副本。
3、全局函数或变量在头文件A.h中声明在源文件A.cpp中定义。此时在源文件B.cpp、C.cpp可以同时包含头文件A.h函数和变量在所有源文件中有效且只有一份。