美文网首页C++C++C++
C++——静态成员函数与静态成员变量

C++——静态成员函数与静态成员变量

作者: d16ug_a1l | 来源:发表于2018-12-20 14:27 被阅读4次

    静态成员函数与静态成员变量使用static进行定义。

    静态成员函数和静态成员变量其实就是全局函数与全局变量。

    静态成员对象被所有对象所共享,就是每一个对象都可以通过类方法去修改静态成员变量的值。

    sizeof不会计算静态成员变量的大小,计算的是对象中成员变量的大小。

    静态成员不需要对象就可以访问。

    ju_xing_mian_ji::Print_geshu_mianji();//类名::函数名()

    普通的成员函数必须具体作用于某个对象,静态成员函数不具体作用于某个对象。

    静态成员函数只能调用静态成员变量,原因是,如果调用了非静态成员函数或者变量时,非静态成员函数和非静态成员变量的归属问题就会出错,其到底是属于对象还是属于静态成员函数(全局函数)。

    版本a:

    class ju_xing_mian_ji

    {

    public:

    ju_xing_mian_ji(double x_, double y_);

    ~ju_xing_mian_ji();

    static void Print_geshu_mianji();

    private:

    int x, y;

    static int nmain_ji ;

    static int nge_shu ;

    };

    void ju_xing_mian_ji::Print_geshu_mianji()

    {

    cout << "矩形的个数:" << nge_shu << " " << "矩形的总面积:" << nmain_ji << endl;

    }

    ju_xing_mian_ji::ju_xing_mian_ji(double x_, double y_)

    {

    x = x_;

    y = y_;

    nmain_ji += x * y;

    nge_shu++;

    }

    ju_xing_mian_ji::~ju_xing_mian_ji()

    {

    nmain_ji -= x * y;

    nge_shu--;

    }

    int ju_xing_mian_ji::nmain_ji = 0;//在C++中静态成员变量需要在所有内容外进行声明

    int ju_xing_mian_ji::nge_shu = 0;//在C++中静态成员变量需要在所有内容外进行声明

    int main()

    {

    ju_xing_mian_ji a(1, 2);

    j

    相关文章

      网友评论

        本文标题:C++——静态成员函数与静态成员变量

        本文链接:https://www.haomeiwen.com/subject/xdyykqtx.html