候捷书上的问题

qepe 2002-08-14 04:51:57
struct CRuntimeClass
{
………
………
static CRuntimeClass* PASCAL Load();

………
};

void main()
{
………
………
CRuntimeClass* pClassRef;
CObject* pOb;
while(1)
{
if ((pClassRef = CRuntimeClass::Load()) == NULL) //此处不用结构变量
// 就能访问结构的成员,这跟成员声明为static
// 有什么关系吗,?还是其他别的语法
break;
………
……
}
}
...全文
44 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qepe 2002-08-14
  • 打赏
  • 举报
回复
知道了,谢谢各位,不过小弟刚注册没多少分,只好每人给一点,意思意思罢了,不要见怪
c_vector 2002-08-14
  • 打赏
  • 举报
回复
补充一点,静态成员函数没有一般成员函数的隐含this指针,这也是它不属于个别对象实例,只能属于类的一个证据吧
kenryHuang 2002-08-14
  • 打赏
  • 举报
回复
在c++中,结构体可以看做类。。
而类中的静态函数是每个类才有一个实体,而不是每个对象有一个实体
因为静态函数成员函数并不能改变类中成员变量的值。
所以在调用的时候,用ClassName::StaticFunction()来调用。
也可以用object.StaticFunction()来调用,不过作用跟前面的一样。
zheng_can 2002-08-14
  • 打赏
  • 举报
回复
与 static 有关
静态成员是可以不依赖与具体对象而进行访问的
只需在前面加入限定即可
lanfengjiyue 2002-08-14
  • 打赏
  • 举报
回复
结构体可以在vc中可以看做是一个特殊的类。
类中的static成员函数不是哪个对象特有的,是作为全局变量用的。
所以要CRuntimeClass::Load()这样写。
liushmh 2002-08-14
  • 打赏
  • 举报
回复
有关系
静态成员是属于某个类的,而不是属于对象的
对于静态成员的访问可以按上面的方式来
即 CRuntimeClass::Load()
rosysun 2002-08-14
  • 打赏
  • 举报
回复
就是跟static定义有关系啊。着是static在类成员中的用法。

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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