C++教程第07章_类与对象-5_类的静态成员及常量
6
3。静态成员函数若要访问非静态成员,则必须借助于类的对象(对象名或指向对象的函数参数)。
4.静态成员函数首先是一个成员函数,它可以定义为内联函数,也可以在类体外定义,但此时函数名前不必加关键字static.
5.可以通过所在类的对象访问静态成员函数(公有的)外,还可以通过类名直接访问,格式为:
<类名>::<静态成员函数名>(<实参表>)
6.静态成员函数不能为const成员函数。
7.5.1.3 静态成员数据和静态成员函数 应用举例
例1 静态成员数据的定义及应用
# include <iostream.h>
# include<stdlib.h>
class CCounter
{ static int count ; //定义静态成员数据
int objnumber ; //表示对象编号
public :
CCounter( )
{ count ++ ; objnumber=count ; }
void Show ( )
{ cout<<”obj”<<objnumber<<’\t’<<”count=”<<count<<’\n’ ;}
} ;
int CCounter::count=0 ; //A 在类定义外声明静态成员数据并初始化,如果不赋初值,
//可以不赋初值,此时系统会自动赋初值0。
void main ( )
{ CCounter obj 1;
obj1.Show( ) ;
cout<<”----------------------\n “ ;
CCounter obj2 ;
obj1.Show ( ) ;
obj2.Show( ) ;
cout<<”----------------------\n “ ;
CCounter obj3 ;
obj1.Show ( ) ;
obj2.Show ( ) ;
obj3.Show ( ) ;
}
执行结果:
obj1 count=1
----------------------
obj1 count=2
obj2 count=2
----------------------


