标签:static
一、类静态数据成员
静态成员的提出是为了解决数据共享的问题。实现共享有许多方法,如:设置全局性的变量或对象是一种方法。但是,全局变量或对象是有局限性的。这里主要讨论用类的静态成员来实现对象间的数据的共享。
静态数据成员的使用方法和注意事项如下:
1、静态数据成员在定义或说明时前面加关键字static。
2、静态成员初始化与一般数据成员初始化不同。静态数据成员初始化的格式如下:
<数据类型><类名>::<静态数据成员名>=<值>
3、静态数据成员是静态存储的,它是静态生存期,必须对它进行初始化。
4、引用静态数据成员时,采用如下格式:
<类名>::<静态成员名>
#include <stdio.h>
class A
{
public:
static int count;//定义一个静态成员用来存放类对象的个数
void setcount(int k);
A()
{
count++;
}
};
int A::count =0; //设置静态成员的初值
void A:: setcount(int k) //设置计数变量
{
this->count=k;
}
void main()
{
A a;
A b;
printf("实例化次数%d\n",A::count);
a.setcount(888);//通过这一句可以设置count数值,a与b共享同一个count;
printf("a的count为:%d\n",a.count);//对于静态的来讲,
//这里a.count与A::count与A.count可以互换
printf("b的count为:%d",b.count);
getchar();
}二、类静态成员函数
静态成员函数内不能使用非静态类成员数据。
类成员函数可以独立使用。(不必通过对象调用成员函数,可以使用类名+作用域解析符调用静态成 员函数。如Tdate::staticFun();)
最好把成员函数的实现放在.cpp里边,以防止重复定义。
本文出自 “明日清晨” 博客,转载请与作者联系!
标签:static
原文地址:http://yhj51blog.blog.51cto.com/6492000/1675642