C++中的输入输出问题

来源:百度知道 编辑:UC知道 时间:2024/06/20 19:16:03
include <iostream>
using namespace std;
class A
{
int x,y;
public:
A()
{
cout<<"调用了"<<endl;
}
void display()
{
cout<<x<<'\t'<<y<<'\t';
}
};

int main()
{
A *pal=new A;
pal->display();

return 0;
}
运行结果 输出 的x和y是-842150451,不是说不给变量赋值时系统默认为0吗,怎么会这样呢,帮个忙,谢谢了!

只有对静态变量或全局变量来说,没给它们赋值时系统默认为零,对于其他变量系统会赋予一个随机值。
你的这个类中的成员变量x,y都属于动态变量,所以期初值为随机值,你在int前面加一个static,应该输出的就是零了

谁说的,这个都是随机的吧。。
不过也有的系统是赋值0

全局变量或静态变量不初始化系统会默认为0,不过最好也要初始化,养成好的习惯。
栈中的变量必须赋值,不然就是随机数。