这句代码是什么意思了?

chenxidu 2008-05-14 02:38:30
下面这两行,是在CPP文件的头部申明的,是什么意思了?以前没有这样用过

类 类::变量 = ** ;就是这种形式 不明白

CStatisticReporter *CInGameRunningShouter::m_srReporter = NULL ;
CADRealmFilter CInGameRunningShouter::m_ADLimit;

谢谢
...全文
280 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
lily604 2008-05-15
  • 打赏
  • 举报
回复
引用steedhorse
.............................
静态成员在类中只是声明,需要类外定义。
Learn-anything 2008-05-15
  • 打赏
  • 举报
回复
taodm 2008-05-15
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 chenxidu 的回复:]
谢谢大家,这还是我第一次看见这样的声明形式
[/Quote]
楼主啊,赶紧买本好点的C++教材吧,别这么瞎折腾了。你C++基础几乎为0了。
micah29 2008-05-15
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 steedhorse 的回复:]
静态成员在类中只是声明,需要类外定义。
[/Quote]

学习了,都不知道这个细节。。。。
calss_cyl 2008-05-15
  • 打赏
  • 举报
回复

1.类的声明和定义的区别
2.尖括号你要是看不懂的话,无语。

又是语法问题帖~~
cppscript 2008-05-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 Treazy 的回复:]
引用 1 楼 oo 的回复:
定义类的static成员变量
[/Quote]

正解

CStatisticReporter *CInGameRunningShouter::m_srReporter = NULL ;
CADRealmFilter CInGameRunningShouter::m_ADLimit;

//m_srReporter ,m_ADLimit 都是 CInGameRunningShouter的成员
Peterry 2008-05-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 chenxidu 的回复:]
哪个是哪个的成员了?
[/Quote]

哪个都不是哪个的成员,这里和成员没有关系,是在定义静态变量,静态变量不是成员.
zhoufuguo8802 2008-05-14
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 zmlovelx 的回复:]
CStatisticReporter *
CADRealmFilter
都是变量的类型
[/Quote]
herman~~ 2008-05-14
  • 打赏
  • 举报
回复
up 戒指
oo 2008-05-14
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 chenxidu 的回复:]
另外想问问
class CADRunningShouterRealmMgr : public Singleton <CADRunningShouterRealmMgr>

公共继承,为什么后面的父类的参数用这样的尖括号了?这是什么意思了?

class A :public B <C>

就是不明白这种写法的意思

谢谢!
[/Quote]

Singleton <CADRunningShouterRealmMgr> //Singleton 是模板类,CADRunningShouterRealmMgr是模板的参数

xkyx_cn 2008-05-14
  • 打赏
  • 举报
回复
Singleton 是一个模板类
CADRunningShouterRealmMgr是做为模板参数的具体类型
chenxidu 2008-05-14
  • 打赏
  • 举报
回复
另外想问问
class CADRunningShouterRealmMgr : public Singleton<CADRunningShouterRealmMgr>

公共继承,为什么后面的父类的参数用这样的尖括号了?这是什么意思了?

class A :public B<C>

就是不明白这种写法的意思

谢谢!
chenxidu 2008-05-14
  • 打赏
  • 举报
回复
谢谢大家,这还是我第一次看见这样的声明形式
晨星 2008-05-14
  • 打赏
  • 举报
回复
静态成员在类中只是声明,需要类外定义。
帅得不敢出门 2008-05-14
  • 打赏
  • 举报
回复
CStatisticReporter *
CADRealmFilter
都是变量的类型
帅得不敢出门 2008-05-14
  • 打赏
  • 举报
回复
简单说是类变量
只要通过类名限定符就可以访问了 而不需要通过对象
定义如下 变量类型 类::变量 = 变量值

chen_yuan 2008-05-14
  • 打赏
  • 举报
回复

m_srReporter和m_ADLimit是CInGameRunningShouter类的静态成员变量,前面的CStatisticReporter和CADRealmFilter是这两个变量分别对应的类型。
xkyx_cn 2008-05-14
  • 打赏
  • 举报
回复
m_srReporter 和 m_ADLimit 是 CInGameRunningShouter 的静态成员变量

[Quote=引用 5 楼 chenxidu 的回复:]
哪个是哪个的成员了?
[/Quote]
nuaacj8888 2008-05-14
  • 打赏
  • 举报
回复
应该是static类成员吧,静态的,与类直接关联,必须在类外定义
Treazy 2008-05-14
  • 打赏
  • 举报
回复

CStatisticReporter *CInGameRunningShouter::m_srReporter = NULL ;
CInGameRunningShouter是类1
CStatisticReporter是类2

m_srReporter 是在类1中声明的
应该是这样的
class CInGameRunningShouter
{
...
private:
static CStatisticReporter *m_srReporter ; //该指针指向类2
...
}
因此整个表达式子就是对类1的m_srReporter进行定义初始化为NULL



加载更多回复(5)

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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