如您所见,在“ Demo”类中,我声明了“ id”。但是我无法在下一行中对其进行初始化(我知道,我可以在同一行中完成此操作,但仍然可以)。在主函数中使用“ a”的情况下,我可以做同样的事情。为什么???
#include <iostream>
using namespace std;
class Demo {
public:
int id;
id = 90;
int setID(int x)
{
id = x;
}
};
int main() {
int a;
a = 90;
Demo d;
d.setID(50);
cout<<a<<endl;
return 0;
}
因为这是语言的工作方式。main
是一个功能。在函数内部,命令被一个接一个地执行:
1)创建a
类型的变量int
。2)将值90分配给a
3)创建d
类型的对象,Demo
依此类推。
但 class Demo { public: int id; int setID(int x) { id = x; } };
不是功能。这是一个类的声明。无非是对实体的描述。您不能在描述内执行命令。您可以说“这个班级有int a
”
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句