您的位置:首页 > 其它

静态成员函数中不允许引用类的非静态成员,但可以访问对象中的非静态成员

2012-04-04 16:03 417 查看
代码如下:

#include<iosteam>

class M
{
public:
M(int a)
{
A = a;
B+=a;//这里每调用一次构造函数不就重新刷新一次B了吗?用这种方法记录生成对象的个数??
}

static void f1(M m);

private:
int A;
static int B;

};

void M::f1(M m)
{
cout<<"A="<<m.A;//在静态成员函数中,只能通过对象访问类的非静态成员
cout<<"B="<<B;//B是静态成员,可以在静态成员函数中访问

}

int M::B=0;//一直不明白这里的B不是私有的吗?为什么可以直接访问?是因为这句话没有在任何函数中吗?

void main()
{
M P(5), Q(10);
M::f1(P);
//访问静态成员函数,前面可以用类名或者对象名,下同
M::f1(Q);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐