您的位置:首页 > 编程语言 > C语言/C++

C++静态成员变量的初始化

2014-03-03 16:53 134 查看
需要注意的是:静态数据成员不能在类中初始化,一般在类外和main()函数之前初始化,缺省时初始化为0。

1.static成员的所有者是类本身,但是多个对象拥有一样的静态成员。从而在定义对象是不能通过构造函数对其进行初始化。

2.静态成员不能在类定义里边初始化,只能在class body外初始化。

3.静态成员仍然遵循public,private,protected访问准则。

4.静态成员函数没有this指针,它不能返回非静态成员,因为除了对象会调用它外,类本身也可以调用

静态成员属于全局变量,是所有实例化以后的对象所共享的,而成员的初始化你可以想象成向系统申请内存存储数据的过程,显然这种共有对象。不能在任何函数和局部作用域中初始化。

class point{
public:
	point(){};
//	...
private:
	static int x,y;
};
int point::x = 0;
int point::y = 0;

int main(){
//	...
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: