美文网首页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++——静态成员函数与静态成员变量

    静态成员函数与静态成员变量使用static进行定义。 静态成员函数和静态成员变量其实就是全局函数与全局变量。 静态...

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

    静态成员函数与静态成员变量使用static进行定义。 静态成员函数和静态成员变量其实就是全局函数与全局变量。 静态...

  • [初学C++]静态成员

    静态成员变量和成员函数 在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所...

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

    为什么要使用静态成员变量? 某一个变量需要被多个对象共享 静态成员变量如何进行初始化? 类外初始化(类外初始化在构...

  • C++ - 静态成员变量与静态成员函数

    静态成员:在说明前面加了 static 关键字的成员 普通成员变量每个对象各自的一份,而静态成员变量一共就一份,为...

  • C++中的成员变量和成员函数

    C++中的类有两个成分: (1)成员变量 成员变量按照作用域分为静态成员变量和非静态成员变量,C++中成员变量的默...

  • c++语法2

    接上篇我们继续学习静态成员、友元函数、继承、多重继承,继承访问权限等 静态成员与友元函数:c++中静态成员与jav...

  • C++中的静态成员

    静态成员变量 在C++中可以定义静态成员变量静态成员变量属于整个类所有静态成员变量的生命期不依赖于任何对象可以通过...

  • C++静态成员与友元

    静态成员 静态变量的初始化(如何定义) static int getnum()//静态成员函数 静态成员函数只能操...

  • 深入理解C++对象模型

    1. C++对象模型 所有的非静态数据成员存储在对象本身中。所有的静态数据成员、成员函数(包括静态与非静态)都置于...

网友评论

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

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