为什么会调用七次Getb()

#include <iostream>
using namespace std;
class B
{
 public:
 B(){cout<<++b<<endl;}
 ~B(){cout<<--b<<endl;}
 static int Getb(){return b;}
 private:
 static int b;
};
int B::b=10;
int main()
{
 B b1,b2,b3;
 cout<<B::Getb()<<endl;
 return 0;
}

 

谁跟你说的调用7次,你再Getb()中加打印,看看到底调用几次。

static int Getb(){cout << "getb"<< endl;return b;}

Getb不可能调用7次啊,你说的是b的值被输出了7次吧?构造和析构各3次,Getb一次

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632