Di.W 2021-07-15 21:00 采纳率: 50%
浏览 7
已采纳

这个程序的结果为多少?

#include
using namespace std;
class A
{
private: int x; static int y;
public:
A(int x1){x=x1;y++;}
static void f(A &a);
};
int A::y=0;
void A::f(A &a){
cout<<"x="<<a.x<<endl;
cout<<"y="<<y<<endl;}
int main()
{A a1(1);
A a2(2);
A::f(a1);
A::f(a2);
return 0;}

  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2021-07-16 07:32
    关注

    A a1(1)后,a1的x值为1,y++后y为1
    A a2(2)后,a2的x值为2,y++后y为2
    A::f(a1)后,输出a1的x,以及静态变量y的值,所以输出1和2
    A::f(a2)后,输出a2的x,以及静态变量y的值,所以输出2和2

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已采纳回答 7月16日
  • 创建了问题 7月15日