⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 static.cpp

📁 是关于静态成员函数的++程序例子
💻 CPP
字号:
#include <iostream.h>
//静态数据成员
/*
1.静态成员函数不能在类的声明中进行初始化,因为在类中不给它分配内存空间,
它需要在类以外的其他地方(一般是在类的声明之后和mian( )开始之前的某处)
提供定义和初始化。缺省情况下,静态成员被初始化为零。
2.静态数据成员和静态变量一样,是在编译时创建并初始化的。它在该类的任何
对象被建立之前就存在,可以在程序内部不依赖于任何对象被访问。
3.支持静态数据成员的原因是为了避免使用全局变量,避免破坏对类的封装。
主要用于定义类的各个对象的公共数据。
*/
class  CStudent {
       static  int  Count;
       int  StudentNo;
   public:
       CStudent ( ) 
       {  
	       Count ++;  
           StudentNo = Count; 
       }
       void  Show ( ) 
	   { 
		   cout << "Student" <<StudentNo << " ";
		   cout << "Count = "<<Count<< endl; 
       }
};

int CStudent::Count = 0;  // 定义,并给静态数据成员赋初值
void main( )
{  
	CStudent  Student1;
    CStudent  Student2;
    CStudent  Student3;
    CStudent  Student4;
    Student1.Show( );
    Student2.Show( );
    Student3.Show( );
    Student4.Show( );
}


//静态成员函数
/*
1.它可以在建立任何对象之前处理静态数据成员,这是普通成员函数不能实现的功能。
2.在静态成员函数中间不存在this指针,因为它不与特定对象相联系。

*/
/*
class  CStudent {
       static  int  Count;
       static  float  TotalAge;
       int  Age;
       int  StudentNo;
   public:
       CStudent (int age);
       void Show ( );
       static void ShowAveAge ( );
} ;

int CStudent::Count=0;
float CStudent::TotalAge=0;
CStudent :: CStudent (int age)
{   
	Count ++;            
    StudentNo = Count; 
    Age = age;
    TotalAge = TotalAge + float ( Age );
}
void CStudent :: Show ( ) 
{ 
	cout << "Student" << StudentNo ;
	cout  << "\'s age is" << Age << endl; 
}
void CStudent :: ShowAveAge ( ) 
{ 
	float ave_age;
	ave_age = TotalAge / float(Count);
	cout << "Number of Student is :" << Count << endl ;
	cout << "Their  ave_age is :" << ave_age << endl; 
}

void main()
{  
   CStudent std1(22),  std2(20),  std3(21);
   std1.Show( );     
   std2.Show( );      
   std3.Show( );
   CStudent :: ShowAveAge ( );
}
*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -