静态成员变量为什么要类外部定义呢?

Dan1980 2006-09-15 05:15:50
谁能解释一下?
...全文
236 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
飞哥 2006-09-15
  • 打赏
  • 举报
回复
唉,不让定义
没办法

今天搞个代码说可以定义静态成员,报错:(

OOPhaisky 2006-09-15
  • 打赏
  • 举报
回复
就这么规定的,遵守就是了。
blue_zyb 2006-09-15
  • 打赏
  • 举报
回复
因为class声明只是编译器参照的一个模板,在没有对象生成的时候没有必要分配空间。所以说不能在类声明的时候为成员赋初始值之类的,也就是说不会定义,不会分配存储。

如果有
class A
{
static int a; // C++把class的静态成员处理为全局变量,这是一个全局变量a的
// 的声明,不过受class scope的访问限制,也即是A::a
}
对于此全局量a的定义,当然要放在global的位置
jixingzhong 2006-09-15
  • 打赏
  • 举报
回复
比如你规定整型用 int 定义,
为什么?

没有原因,
这个是规定 ...
jixingzhong 2006-09-15
  • 打赏
  • 举报
回复
这个是语法,
没有原因 ...

33,321

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧