C++题目:下列程序运行的结果是()

来源:百度知道 编辑:UC知道 时间:2024/06/07 17:24:13
class L{int X;public:void ini(int X){X=this->X*this->X;}void print(){cout<<X;}}a;main(){a.ini(5);a.print();}

class L
{
int X;
public:
void ini(int X)
{
X=this->X*this->X;
}
void print()
{
cout<<X;
}
};

void main()
{
L a;
a.ini(5);
a.print();
}
请问您题目是这样的吗?
这样的话,不是会输出一个随即数的吗?

你想,a.ini(5)里面实现的内容是this->x*this->x;那么这时候this->x的值还没有初始化,因为你还没有一个构造函数,所以this->x还是一个随即数;反正这样编码是不对的

换成这样,不知道是不是你要表达的意思
class L
{
int X;
public:
void ini(int X)
{
this->X=X*X;
}
void print()
{
cout<<X;
}
};

void main()
{
L a;
a.ini(5);
a.print();
}
结果为25

0
你可以运行一下,就知道了

为0 这里a为全局变量,x初始化为0

难道你代码就是这样写的吗。 怎么main()还是样写 一定要按标准写,查起来也方便。建议看看标准C++宝典。

此结果为0。