关于 static class member

dingounan 2004-11-21 10:51:29
谁能说说怎么初始化一个static class member?
我按c++primer和the c++ programming language上讲的试了好几遍都不行,
...全文
145 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sharkhuang 2004-11-22
  • 打赏
  • 举报
回复
goodluckyxl(被人遗忘的狗) 说得对啊
Squall1009 2004-11-21
  • 打赏
  • 举报
回复
非const static的在类声明以外初始化.
const static必须直接在类声明时初始化
边城狂人 2004-11-21
  • 打赏
  • 举报
回复
在 .h 文件中定义 class

class Test {
static int t;
}

在 .cpp 中初始化

Test::t = 0;
jordan1 2004-11-21
  • 打赏
  • 举报
回复
Squall1009(钰枫)(我思故我在) (

说得很好
goodluckyxl 2004-11-21
  • 打赏
  • 举报
回复
楼上的 漏了一件事情
就是 非静态模板函数 是可以不实例化
^_^
sharkhuang 2004-11-21
  • 打赏
  • 举报
回复
no!static成员函数不需要实例话就能调用。但是不能访问成员变量。
CatomyF 2004-11-21
  • 打赏
  • 举报
回复
要是定义一个静态函数怎么写呢?
比如在类中加入一个打印的函数,让函数能够自动实现输出
class test
{
public:
static void print();
private:
.........
};
是这样定义or声明?
goodluckyxl 2004-11-21
  • 打赏
  • 举报
回复
是的 外部定义
template< typename T >
class A
{
public:
static int x;
};
template<typename T>
int A<T>::x = 8;

http://community.csdn.net/Expert/topic/3571/3571762.xml?temp=.7443354
以后新手乐园会为大家整理一些知识点
如果看了 觉得有用 请顶下 谢谢

dingounan 2004-11-21
  • 打赏
  • 举报
回复
要是模板类呢?
比如:
template<typename T> class tempc
{
int data;
};
难道也是:
tempc::data=0
另外,我想通过函数进行初始化(尤其是class的构造函数),可以吗?

33,311

社区成员

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

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