回 帖 发 新 帖 刷新版面

主题:你们好帮我解决一下一道c++问题

#include<iostream.h> 
class Sample 

int A; 
static int B; 
public: 
Sample(int a){A=a,B+=a;} 
static void func(Sample s); 
}; 

void Sample::func(Sample s) 

cout<<"A="<<s.A<<",B="<<B<<endl; 


int Sample::B=0; 

void main() 

Sample s1(2),s2(5); 
Sample::func(s1); 
Sample::func(s2); 





最后的输出结果是
a=2 b=7
a=5 b=7

回复列表 (共1个回复)

沙发

很简单,因为B是一个静态成员数据,是一个类的公有数据,而不是归一个对象。所以,无论如何,b只有一个值,所以它是7

我来回复

您尚未登录,请登录后再回复。点此登录或注册