静态成员函数

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

静态成员函数

静态成员函数是指在类中声明的用static关键字修饰的函数,也叫作类函数。一般来说,它不需要访问类的数据成员,它只可以调用类的静态成员函数和友元函数,不可以调用普通成员函数,但它可以调用其他所有的成员函数。

静态成员函数也可以用于构造函数那里,因为只有静态成员函数没有隐式的this指针,所以,静态成员函数无法访问非静态成员数据。

二、静态成员函数的作用

1、它可以实现自定义的初始化及赋值,所有的对象在创建时都使用相同的初始化及赋值,这样可以节省很多时间。

2、用它可以实现全局函数的功能,但与全局函数不同的是,它可以访问类的private部分。

3、它可以提供对象的总数,通过静态友元函数来实现,可以检测构造函数和析构函数的调用次数,从而检测对象的数量。

4、它可以返回类的静态成员变量,也可以用于类的计算,这种方法可以使我们不必使用全局变量。

三、静态成员函数的特点

1、只有在类中才能使用静态成员函数,而不能直接在主程序中使用它们。

2、它可以调用类中所有的静态成员函数,但不能调用普通成员函数。

3、它不能操作类的非静态成员数据,但可以调用其他所有的成员函数。

4、它只能被类的静态成员函数和友元函数调用。

四、实例

下面我们来看一个使用静态成员函数的实例,这个实例演示了如何使用静态成员函数来访问类的静态成员变量。

#include

using namespace std;

class StaticClass

{

private:

static int count;

public:

//静态成员函数

static int getCount()

{

return count;

}

//普通成员函数

void setCount(int val)

{

count = val;

}

};

//静态变量初始化

int StaticClass::count = 0;

int main()

{

//设置count的值

StaticClass::setCount(5);

//获取count的值

cout<

return 0;

}

上面的程序中,定义了一个静态变量count,在类外面定义了这个静态变量,指定了它的初值为0,在类中定义了一个静态成员函数getCount(),用于访问静态变量count,这里不用构造函数,也没有实例化任何对象,只要使用类名来调用静态成员函数就可以使用私有成员count,并且可以通过它获取静态变量count的值,并将这个值输出在屏幕上。

五、总结

静态成员函数是指在类中用static关键字修饰的函数,它可以访问类的静态成员变量,但不可以访问非静态成员变量,它只能在类

中使用,并且它可以用作全局函数,因为它可以被友元函数和其他的静态成员函数调用。此外,静态成员函数可以用于构造函数,一般用于提供对象的总数、实现自定义的初始化及赋值等功能。

相关文档
最新文档