关于C++静态数据成员的实现讲解分享!

静态数据成员是在一个类中用关键字static声明的数据成员。在C++中,一般使用静态成员来代替C语言的全局变量,以达到数据共享。C和C++的全局变量有一定的局限性,可以任意被修改,也容易和其它的变量名冲突,故在C++中,一般不使用全局变量。

静态数据成员必须进行初始化,初始化应在类体外进行,静态数据成员也可以引用,但不能引用私有数据部分。

接下来看一个例子:

  #include <iostream>  #include <cstring>  using namespace std ;   class Student   {   private :   //静态成员变量    static int age ;   static float score ;    string name ;   public :   static int x , y ;   //构造函数    Student();   //析构函数    ~Student();    //设置信息    int setstuinfo(int age , float score , string name);   //打印信息    int Printstuinfo();  };  //静态成员必须初始化   int Student::age = 24 ;   float Student::score = 86.6 ;   int Student::x = 100 ;   int Student::y = 200 ;  Student::Student()  {   this->name = "YYX" ;   cout << this->name << endl ;   cout << this->age << endl ;    cout << this->score << endl ;   }  Student::~Student()  {   this->name = "NULL";   cout << this->name << endl ;  }  int Student::setstuinfo(int age , float score , string name)  {   this->age = age ;    this->score = score ;    this->name = name ;  }  int Student::Printstuinfo()  {   cout << this->name << endl ;   cout << this->age << endl ;    cout << this->score << endl ;   }  int main(void)  {   Student stu1 ;   //指针    Student *p ;   p = &stu1 ;   p->setstuinfo(25,96,"XXX");   p->Printstuinfo();   //静态成员的引用---->不可以引用私有成员   cout << p->x << endl ;    cout << p->y << endl ;   Student::x = 80 ;   Student::y = 90 ;   cout << p->x << endl ;    cout << p->y << endl ;   return 0 ;  }

运行结果:

YYX
24 
86.6
XXX
25
96
100
200
80
90
NULL

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对<计算机技术网(www.ctvol.com)!!>的支持。如果你想了解更多相关内容请查看下面相关链接

—-想了解关于C++静态数据成员的实现讲解分享!全部内容且更多的C语言教程关注<计算机技术网(www.ctvol.com)!!>

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/482587.html

(0)
上一篇 2020年11月9日
下一篇 2020年11月9日

精彩推荐