展开全部
B是Person的静态变量,属于所有的类对象共享的,看代码,当person p创建的时候p的A=5,共享变量B=5(此时只是构造,并未调用f1函数输出);当q创建的时候q的A = 10,但此时B = B + a = 5 + 10 =15的所以p的B也变成了15。所以p.A = 5, p.B = 15; q.A=10,q.B = 15.(写法不规范,只是表达意思)。这就是输出结果。 另一方面,对于静态变量的访问,应该是Person::B。 所以应该填Person::B
追问
输出A和B的值是在f1函数中实现的,开始f1(p)时对应的B不是5吗,这时候输出的B为什么会是15呢
2018-05-26
展开全部
int Person::B = 0;//对B赋初值
追问
这和m.b有什么不同吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询