首页 > 试题广场 >

下列程序的运行结果是1*2 3*4,请将横线处缺失程序补充

[单选题]
下列程序的运行结果是 1*2  3*4,那么横线处缺失程序可以是()
#include <iostream>
using namespace std;

class Test{
public:
    Test(int a, int b) {
        x = a;
        y = b;
    }
    ~Test() {}
    void print() {
        cout << x << "*" << y << "  ";
    }
private:
    int x;
    int y;
};
int main() {
    Test t[2] = {_______};
    for(int i = 0; i < 2; i++)
        t[i].print();
    return 0;
}



  • 1,2,3,4
  • {1,2},{3,4}
  • Test(1,2),Test(3,4)
  • 1234
B选项要改为{1,2},{3,4}才正确
发表于 2019-08-06 10:44:50 回复(1)
亲测
B, {1,2},{3,4}
C,
Test(1,2),Test(3,4)
都可以
发表于 2022-04-14 11:16:05 回复(0)
B选项要改为{1,2},{3,4}才正确。因为加了{},是参数列表初始化的方法,{1,2},{3,4}就是隐式构造,即参数列表初始化形式的隐式构造。选项C就是显式构造。而()是无厘头的,加了Test(),才可看作是个构造函数。
编辑于 2020-12-24 01:12:41 回复(0)
题目错误,按照答案,B选项应该是(),但是实际上B选项是{}
发表于 2023-02-04 16:54:36 回复(0)
c
发表于 2020-07-15 15:46:18 回复(0)
此题答案错误,运行B选项,可得到输出的结果
发表于 2022-05-14 14:37:00 回复(0)
发表于 2023-04-27 17:22:47 回复(0)
***牛客
发表于 2023-04-27 14:36:56 回复(0)
本题答案有误,在VS2022上面测试B、C均可。
发表于 2022-09-10 14:37:58 回复(0)
t是一个数组,返回类型为Test的数组。
发表于 2022-05-19 09:32:07 回复(0)