题目
以下程序的结果_________#include <iostream>using namespace std;class CVal {public: CVal(int i) : real(i), imagine(0) { cout << "real: " << real << endl; cout << "imagine: " << imagine << endl; }private: double real; double imagine;};int main() { CVal my_c_value(15.8); int a = 10; int b = a; return 0;}
以下程序的结果_________
#include <iostream>
using namespace std;
class CVal {
public:
CVal(int i) : real(i), imagine(0) {
cout << "real: " << real << endl;
cout << "imagine: " << imagine << endl;
}
private:
double real;
double imagine;
};
int main() {
CVal my_c_value(15.8);
int a = 10;
int b = a;
return 0;
}
题目解答
答案
在这个程序中,定义了一个名为 CVal 的类,其构造函数[1]尝试输出私有成员 real 和 imagine 的值,但在构造函数中并没有对这两个私有成员进行初始化,直接输出未初始化的私有成员的值是未定义的行为。
在 main 函数中,定义了 int a 但没有初始化,然后就用 a 去初始化 b ,这也是未定义的行为。
答案:随机值.