300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 静态成员函数中不允许引用类的非静态成员 但可以访问对象中的非静态成员...

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

时间:2024-01-25 20:47:30

相关推荐

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

代码如下:

#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);

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。