C++类中静态成员的使用
来源:互联网 发布:企业信息采集软件 编辑:程序博客网 时间:2024/06/14 16:09
在C++的类里面可以定义静态成员变量和静态成员函数,静态成员属于整个类所有,不依赖任何对象,可以通过类名和对象名两种方式访问public静态成员。
静态成员变量的定义:
通过static关键字修饰,需要在类外单独分配空间,在全局数据区。形式为:Type Classname::varname;
类的所有对象共享静态成员,因此在统计类的对象个数时可以使用静态成员变量:
#include <iostream>class Test{private:static int count;public:Test(){count++;}~Test(){count--;}static int GetCount(){return count;}};int Test::count = 0;int main(){Test t1;Test t2;std::cout<<"The number of Objects: "<<Test::GetCount()<<std::endl;Test t[10];std::cout<<"The number of Objects: "<<Test::GetCount()<<std::endl;return 0;}
静态成员函数和普通成员函数的区别:
静态成员函数不包含指向具体对象的指针;普通成员函数包含一个指向具体对象的指针。
public静态成员函数可以直接由类名访问,普通成员函数只能由对象访问。
应用:用于对象数目的控制,这里控制程序里只能有一个该类类型的对象:
#include <iostream>using namespace std;class singletom{private:static singletom* count;singletom() {cout<<"I'm a private singletom()"<<endl;}public:static singletom* getObjetc(){if(count == NULL){count = new singletom;}return count;}~singletom(){//delete count; //这里不能删除这个静态指针成员变量}};singletom* singletom::count = NULL;int main(){singletom *s1 = singletom::getObjetc();singletom *s2 = singletom::getObjetc();singletom *s3 = singletom::getObjetc();cout<<s1<<"\t"<<s2<<"\t"<<s3<<endl;return 0;}
打印出的s1,s2,s3的值是一样的,都指向了同一个对象。
- c语言中静态成员的使用
- C++类中静态成员的使用
- 类中静态成员函数的使用
- 【C++】类的静态成员函数和静态成员变量的使用
- 【C++】类的静态成员
- static 静态成员变量 静态成员函数 类中使用
- 小心使用放在App_Code中类的静态成员
- 在封装的静态成员函数中使用类指针
- 关于类和结构体中静态成员的使用
- 关于C++中静态成员的使用
- JAVA中静态成员变量的使用
- 类中使用静态数据成员
- C++类中静态成员简单使用
- 静态成员的使用
- 静态成员的使用
- 静态成员的使用
- C++:类的静态类成员
- 【C++】类的静态数据成员
- unix时间戳转换成java时间
- operator++() 和 operator++(int)
- Html之Img的用法_alt_使用热点链接_实例
- notification初使用:震动提醒、跳转
- svm理论与实验之7: 核函数
- C++类中静态成员的使用
- Java程序使用OCI驱动连接Oracle数据库
- SYS登陆时报:ora-01031登陆权限不足
- 截屏
- rac 控制并行进程的执
- Jquery和Css实现的下拉菜单代码
- oracle归档日志的清除
- XML文件格式语法及DTD
- public,private,final,static的区别