摘要:
在C语言编程中,static的一个作用是信息屏蔽! 比方说,你自己定义了一个文件 -- 该文件中有一系列的函数以及变量的声明和定义! 你希望该文件中的一些函数和变量只能被该文件中的函数使用,那么,你可以在该函数、变量的前面加上static,代表他们只能被当前文件中的函数使用! 而在C++中,用static来作为信息屏蔽就显得没有必要了!因为,C++有了信息屏蔽的利器 -- class机制! 类中的private属性的变量和函数就对外禁止访问! 然后是C/C++通用的函数作用域的static型的变量!其目的,也是为了信息的屏蔽! int fun() { ... 阅读全文
摘要:
刚开始用C++写程序,遇到了一个很奇怪的问题,就是在类定义的面定义了一个静态成员变量,但在使用时编译器报错称变量不是类的成员。文件a.h内容:/**********************A.h****************************/#defineA_HclassA{staticintnum1;intnum2;A();}#endif文件a.c内容:/**************************a.c**************/#include"a.h"voidA::A(){num2=1;//正确num1=2;//报错}编译 错误:undefine 阅读全文
摘要:
刚开始用C++写程序,遇到了一个很奇怪的问题,就是在类定义的面定义了一个静态成员变量,但在使用时编译器报错称变量不是类的成员。文件a.h内容:/**********************A.h****************************/#defineA_HclassA{staticintnum1;intnum2;A();}#endif文件a.c内容:/**************************a.c**************/#include"a.h"voidA::A(){num2=1;//正确num1=2;//报错}编译 错误:undefine 阅读全文