//头文件
#include
#include
using namespace std;
class book
{
public: static int shownum;
int showbnum();
};
int shownum();
int shownum1();
//主函数
#include
#include"classdef.h"
using namespace std;
int main(void)
{
cout<<"stu:"<<shownum()<<endl;
cout<<"tech:"<<shownum1()<<endl;
system("pause");
return 0;
}
//分别在两个文件中调用类的静态成员变量
#include"classdef.h"
#include
#include
using namespace std;
int shownum()
{
cout<<&book::shownum<<endl;
book::shownum=222;
return book::shownum;
}
//分别在两个文件中调用类的静态成员变量
#include"classdef.h"
#include
#include
using namespace std;
int shownum1()
{
cout<<&book::shownum<<endl;
book::shownum=666;
return book::shownum;
}
两个文件中调用了吗???
其实静态成员变量只是类中的一个说法而已,其本质和全局变量没有多大的区别,他在可执行文件和内存中都是属于数据段,public性质的静态成员那么任何函数都可以进行访问,所以静态成员变量一般用于对于类实例的一个计数或者其他关于类实例的一个属性,很少用于其他用途。
http://blog.csdn.net/clc4210408/article/details/6775824
没看懂你的代码想表达的意思是什么? 还有你说的相互影响是什么意思?
你认为的是这个静态变量属于文件是指 这个变量就只能在这个文件修改还是什么意思?
类这个东西其实就是编译和连接的时候有限定吧,正在运行的时候 没有类的 概念
对于类中的静态变量,只有唯一的一个实体,任何一个地方修改了此值,都会导致其它地方读此值时其值的变化。
计数器,用的就是这种方法。
class book
{
public: static int shownum;
int showbnum();
};