类的声明和定义
一个.h文件里面有:
class A
{
....
};
这个语句到底是定义还是声明?
假设是定义,那么这个.h文件被n多c文件包含进去以后岂不发生重定义?实际上并没有。
假设是声明,那么为何那么多书都这样写:定义一个类:class A {...};?
[解决办法]
是定义,因为指定了类的数据成员和函数成员。类声明一般是指前向声明,如
class A;
[解决办法]
class A
{
....
}; 定义
class A;这样才是声明
那么这个.h文件被n多c文件包含进去以后岂不发生重定义?
头文件不是会有一个
#ifndef
#define
//...
//...
#endif 就是为了防止重定义
[解决办法]