zoukankan      html  css  js  c++  java
  • 静态数据成员与静态成员函数

        静态属性不是类中每个对象拥有的,而是共有的。由于静态成员逃离了对象而存在的性质,所以该实体应该在所有对象产生之前产生,更适合的时机是在程序启动的时候做初始化。初始化时候不可重复上static,但是要加上类名空间。该实体在程序中的唯一性,要求他不可以和类的定义放在头文件中,但是它确实是类的成员,所以放在类实现中最合适。如下:

    //--------------------Student.h ---类定义的文件

    class Student{

    private:

       static int num;

    }

    //-------------------Student.cpp---内实现的文件

    #include"Student.h"

    Student::number=0;

    由于静态数据成员不属于任何一个对象,为了安全起见将静态数据成员定义为私有的,于是如何去访问它呢?同样的可以定义静态成员函数来访问它,用静态成员函数去访问静态数据是最合适不过的,在类中声明静态成员函数,要在成员函数前加上static关键字,可以用对象来调用他,也可以用雷明加域操作符来调用。静态成员函数实现部位应该和成员函数位置相同,在类外部实现时要免去static,但是域操作符是必须的。

    //--------------------Student.h ---类定义的文件

    class Student{

    private:

       static int num;

    public:

    static void Print();

    }

    //-------------------Student.cpp---内实现的文件

    #include"Student.h"

    Student::number=0;

    void Student::Print(){

       cout<<num++<<endl;

    }

  • 相关阅读:
    pwnable
    pwnable
    pwnable
    uva 11971
    uva 11582
    【数据结构】关于递归的几个例子
    【数据结构】快速排序
    【Python】range 倒序
    【数据结构】静态链表的实现(C语言描述)
    【数据结构】KMP 算法
  • 原文地址:https://www.cnblogs.com/td15980891505/p/5086669.html
Copyright © 2011-2022 走看看