如果我们经常使用某一类函数,每次都复制粘贴会很麻烦,可不可以把这些函数放在一起,在其他地方用的时候直接调用即可,如果用c语言的方法,用头文件声明,源文件实现,即可满足这个需求。但是C++要怎么实现呢?每次都实例化一个类吗?其实C++提供了一个static静态函数功能,只要在函数声明的时候,在前面加上static关键字,例如static void fun(),其他地方用的时候,直接使用classA::fun()即可。
二、代码#include
class classA
{
public:
classA()
{
a = 1;
}
//非静态成员函数
void shouNum()
{
std::cout << "输出非静态成员变量a=" << a << std::endl;
}
//静态成员函数,只能访问类内带static字样的静态变量
//如果访问非静态变量则会报错
static void fun()
{
std::cout << "输出静态成员变量b=" << b << std::endl;
}
public:
int a;
//静态数据成员不能在类中初始化,一般在类外和main()函数之前初始化,缺省时初始化为0
//不能在任何函数和局部作用域中初始化
static int b;
};
//静态变量初始化
int classA::b = 2;
int main()
{
//使用非静态成员函数,必须实例化类
classA classa;
classa.shouNum();
//使用静态成员函数,可以直接使用该函数
classA::fun();
return 0;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)