静态成员函数
来源:互联网 发布:中国大数据研究院英语 编辑:程序博客网 时间:2024/06/01 09:03
静态成员函数与静态成员变量一样,都不属于一个对象,而是属于整个类。公有的静态成员函数在未创建对象时也可以使用,它的调用与静态成员变量一样,在静态成员函数名前加上类名和限定符(如A::)。我们也可以通过对象来访问静态成员函数。
1.静态成员函数是属于整个类的,因此它不能访问某个对象的成员变量,因为它没有指向该对象的this指针,不过它可以访问该类的静态成员变量。
2.要使用类成员名限定来访问静态成员,不要使用对象名,因为静态成员是类的成员而不是对象的成员。
3.静态成员可以被继承,基类和派生类都可以共享该静态成员,其他特性与一般成员类似。
4.类中的任何成员函数都可以访问静态成员,但是静态成员函数不能直接访问非静态成员,只能通过对象名访问该对象的非静态成员。这是因为静态成员函数是属于整个类的,没有指向某个对象的this指针。如:
#include <iostream>
using namespace std;
class A{
public:
void show(int i){x=i;cout<<x<<endl;}
//void static show1(int j){x=j;cout<<x<<endl;}//静态成员函数没有指向该对象的this指针,所以不能访问该对象的成员数据
void static show1(int j){y=j;cout<<y<<endl;}
private:
int x;
int static y;
};
int A::y=10;
int main(){
A a;
a.show(1);
a.show1(2);
return 0;
}
输出:1 2
5.静态成员函数不能被说明为虚函数。
- 静态成员变量成员函数
- 静态函数和静态成员
- 静态成员与静态函数
- 静态成员与静态函数
- 静态成员与静态成员函数
- 静态成员变量和静态成员函数
- 静态成员函数与静态数据成员
- 静态成员和静态成员函数
- 静态成员和静态成员函数
- 静态成员函数 与 静态数据成员
- static 静态数据成员 静态成员函数
- 静态数据成员和静态成员函数
- 静态成员函数与静态数据成员
- 静态数据成员和静态成员函数
- C++ 静态数据成员 静态成员函数
- 静态成员函数和静态成员变量
- 静态成员变量 和 静态成员函数
- 静态成员和静态成员函数
- java synchronized详解
- android应用开发笔记---常用控件RadioGroup和RadioButton及Toast
- 删除control list 记录
- 【白话系列】倍增算法
- 二元树中和为某一值的所有路径[数据结构]
- 静态成员函数
- bat批处理
- VMware Workstation 9下基于Ubuntu 12.10服务器版本的Hadoop集群的配置
- Android权限之二packages.xml解析
- 重走java路
- ArcGIS Silverlight API 中如何缩放到点
- java解析xml汇总
- 详解C中volatile关键字
- java操作xml(sax,dom,jdom,dom4j)增删改查