静态成员变量和静态成员函数
2012-07-31 21:52
239 查看
我们学到的类对象的成员变量一般都是这个对象专属,不能为其他对象所共有。然而在实际编程中我们需要统计对象的数量等问题,所以就必须设置一个类的对象所共有的变量,就是静态成员变量。
首先通过一个简单的例程 说明静态成员如何使用。
程序执行的结果是:
1、静态成员变量必须属于类的成员变量,不属于单个对象。
2、静态成员变量必须在全局定义。
3、静态成员变量的使用方式:
A::total;
4、静态成员变量在对象存在之前就存在着。
静态成员函数和静态成员变量一样,不属于任何一个对象。
用一个程序来说明如使用静态成员函数。
程序执行的结果是:
注意:
1、由于静态成员函数是属于整个类的,所以不能访问某个对象的成员变量。因为它没有指向对象的this指针。
2、静态成员函数不能说明为虚函数。
首先通过一个简单的例程 说明静态成员如何使用。
#include<iostream> using namespace std; class A { public: A(int num): it(num) { total++; } virtual ~A() { total--; } virtual int get() { return it; } virtual void set(int age) { it = age; } static int total; private: int it; }; int A::total = 0; int main() { const int max = 5; int i; A *a[max]; for(i = 0; i< max;i++) a[i] = new A(i); for(i = 0; i< max; i++) { cout<<"该类有"<<A::total<<"个对象"<<endl; cout<<"正在删除第"<<a[i]->get()<<"个对象。\n"; delete a[i]; } return 0; }
程序执行的结果是:
1、静态成员变量必须属于类的成员变量,不属于单个对象。
2、静态成员变量必须在全局定义。
3、静态成员变量的使用方式:
A::total;
4、静态成员变量在对象存在之前就存在着。
静态成员函数和静态成员变量一样,不属于任何一个对象。
用一个程序来说明如使用静态成员函数。
#include<iostream> using namespace std; class A { public: void static show() { cout<<A::n; n++; } private: static int n; }; int A::n = 0; int main() { int i; for(i =0; i< 5; i++) { A::show(); cout<<endl; } return 0; }
程序执行的结果是:
注意:
1、由于静态成员函数是属于整个类的,所以不能访问某个对象的成员变量。因为它没有指向对象的this指针。
2、静态成员函数不能说明为虚函数。
相关文章推荐
- C++中类中的静态成员变量和静态成员函数的作用(二)
- 类的静态成员函数和静态成员变量的使用
- 静态成员函数如何调用非静态成员变量(函数参数不能任意扩展的情况)
- C++中静态成员函数访问非静态成员变量(转)
- C++静态成员变量和静态成员函数
- [C++学习笔记]--析构函数、静态成员变量、静态成员函数
- C++静态成员变量和静态成员函数
- C++静态成员变量和静态成员函数
- C++静态成员变量和静态成员函数
- C++之类的静态成员变量和静态成员函数1
- 静态成员变量和静态成员函数
- C++静态成员变量和静态成员函数使用总结
- C++ 静态成员变量和静态成员函数
- 静态成员变量,静态成员函数
- 静态成员变量和静态成员函数
- C++类中的静态成员变量和静态成员函数的作用
- C++ 类 静态成员变量和静态成员函数
- C++静态成员函数,静态成员变量,运算符重载
- C++之类的静态成员变量和静态成员函数
- C++之静态成员变量和静态成员函数