C++在其他类内调用另一个工具类的函数--static

C++在其他类内调用另一个工具类的函数--static,第1张

一、背景

如果我们经常使用某一类函数,每次都复制粘贴会很麻烦,可不可以把这些函数放在一起,在其他地方用的时候直接调用即可,如果用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;
}

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/713328.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-24
下一篇 2022-04-24

发表评论

登录后才能评论

评论列表(0条)

保存