我有一个名为Person的类,它具有一个名称,4
变量a,b,c,d和一个值t
,该值加上a
,b
,{ {1}},向上c
。
以下是描述我的问题的代码:
d
在第一个块中,假设我收到用户的“ Andy”,1、2、3、4,在打印#include <iostream>
using namespace std;
class person {
public:
string name;
int a;
int b;
int c;
int d;
int t = a + b + c + d;
};
int main() {
{
person p;
cin >> p.name >> p.a >> p.b >> p.c >> p.d;
cout << p.t << '\n'; // garbage
}
{
person p;
string s;
int A,B,C,D;
cin >> s >> A >> B >> C >> D;
p = {s,A,D};
cout << p.t << '\n'; // prints the sum
}
return 0;
}
时,它会打印垃圾值。在第二个块中,它打印出我期望的t
= t
,第一个块的行为是意外的,我不知道为什么会这样。