为了账号安全,请及时绑定邮箱和手机立即绑定

静态函数 static bool 类型 问题

静态函数 static bool 类型 问题

米脂 2019-03-29 10:56:44
函数定义为staticboolfoo(conststd::string&iVariable);属于类A当我在使用时if(A::foo(Var))时,我发现多次调用该if语句,且使用了不同的Var时,foo返回值一直是false,是不是说静态函数的值在第一次调用时就确定了,无法改变?困惑,谢谢!!
查看完整描述

2 回答

?
慕姐8265434

TA贡献1813条经验 获得超2个赞

建议你还是把代码贴出来。我总结了一下关于静态数据成员和静态成员函数的一些知识点,希望对你有用!静态成员函数不和任何对象相关联,所以1、无法访问属于类对象的非静态数据成员classA
{
private:
inta;//non-static
public:
	A(intinit):a(init){}
	staticgetvalue(){returna;}/*错误,无法访问属于类对象的非静态数据成员*/
};2、无法访问非静态成员函数classA
{
private:
inta;//non-static
public:
	A(intinit):a(init){}
	intgetvalue(){returna;}//non-static
	staticprintvalue(){cout<};3、只能调用其余的静态成员函数classA
{
private:
	staticintstaticvalue;
inta;//non-static
public:
	A(intinit):a(init){}
	staticintgetvalue(){returnstaticvalue;}
	staticprintvalue(){cout<};
intA::staticvalue=2;//类外的定义
intmain(intargc,char*argv[])
{
Ademo(1);
demo.printvalue();
A::printvalue();
return0;
}BTW:静态数据成员必须在类的外部定义
                            
查看完整回答
反对 回复 2019-03-29
  • 2 回答
  • 0 关注
  • 1794 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号