本文内容取自于对狄泰学院 唐佐林老师 C++深度解析 课程的学习总结
静态成员函数
在 c++ 中可以定义 静态成员函数
- 静态成员函数是类中 特殊的成员函数
- 静态成员函数 属于整个类所有
- 可以 通过类名直接访问 公有静态成员函数
- 可以 通过对象名访问 公有静态成员函数
静态成员函数的定义
- 直接通过 static 关键字修饰成员函数
静态成员函数 vs 普通成员函数
编程实验
#include <stdio.h>
class Test
{
public:
static int s_count;
Test();
~Test();
static int getCout();
};
int Test::s_count = 0;
Test::Test()
{
++s_count;
}
Test::~Test()
{
--s_count;
}
int Test::getCout()
{
return s_count;
}
int main(void)
{
printf("Test::getCout = %d\n", Test::getCout());
printf("Test::s_cout = %d\n", Test::s_count);
Test t1;
Test t2;
Test *p = new Test();
printf("Test::getCout = %d\n", Test::getCout());
printf("Test::s_cout = %d\n", Test::s_count);
delete p;
printf("Test::getCout = %d\n", Test::getCout());
printf("Test::s_cout = %d\n", Test::s_count);
return 0;
}
运行结果
小结
静态成员函数是类中 特殊的成员函数
静态成员函数 没有 隐藏的 this 参数
静态成员函数 可以通过类名直接访问
静态成员函数 只能直接访问静态成员变量(函数)