为什么我被称为私有?因为我是静态成员,所以它不能是第19行中的错误
#include<iostream>
using namespace std;
class myClass{
static int i;
public:
void seti(int a)
{
i=a;
}
int geti()
{
return i;
}
};
int myClass::i;
int main()
{
myClass ob1,ob2;
cout<<myClass::i<<endl;
ob1.seti(200);
cout<<ob1.geti()<<endl;
cout<<ob2.geti()<<endl;
}
这里的问题是class
的成员属性默认为private
。这意味着i
是私人的,你无法从课外访问它。
一种解决方案是宣布i
为公共成员。
class myClass{
public:
static int i;
void seti(int a)
{
i=a;
}
int geti()
{
return i;
}
};
PS:struct
的成员默认是公开的