C++中的静态成员函数,也称作静态函数,是一种特殊的函数,它不需要依赖类的实例就可以被调用。它是属于类的,而不是属于类的实例的,它只能访问类的静态成员,而不能访问类的非静态成员。
定义静态成员函数
静态成员函数使用关键字static来定义,它的定义形式如下:
static 返回类型 函数名(参数列表) { //函数体 }
例如定义一个静态成员函数getMax,它的功能是比较两个整数,返回较大的数:
static int getMax(int a, int b) { return a > b ? a : b; }
调用静态成员函数
静态成员函数可以通过类名直接调用,也可以通过类的实例调用,但是调用方式不同:
- 通过类名调用静态成员函数:类名::函数名(参数列表);
- 通过类的实例调用静态成员函数:实例名.函数名(参数列表);
例如调用上面定义的getMax函数:
//通过类名调用 int max1 = Test::getMax(10, 20); //通过类的实例调用 Test test; int max2 = test.getMax(10, 20);
静态成员函数的优点
静态成员函数有很多优点:
- 1.静态成员函数可以节省内存,因为它不需要依赖类的实例就可以被调用;
- 2.静态成员函数可以被类的实例和类名直接调用,使用起来更加方便;
- 3.静态成员函数可以访问类的静态成员,这样可以更好的封装类的数据;
- 4.静态成员函数可以被其他函数调用,这样可以更好的复用代码。
C++中的静态成员函数是一种特殊的函数,它不需要依赖类的实例就可以被调用,它可以访问类的静态成员,可以被类的实例和类名直接调用,它有很多优点,可以节省内存,使用起来更加方便,可以更好的封装类的数据,可以更好的复用代码。