问题 多项选择题

[说明]
已知以下C++程序运行时的输出结果如下。
1:1
1:1
1:1
[C++程序]
01 #include <iostream>
02 using namespace std;
03 class Stock
04 protect:
05 (1) ;
06 Stock(int n, int pr=1)
07 shares = n; share_val=pr;
08 ;
09 void ~Stock() ;
10 public:
11 //成员函数
12 void output()
13 (2) << shares << ":" << share_val << endl;
14
15 private:
16 //成员变量
17 int shares;
18 int share_val;
19 ;
20
21 void main()
22 Stock a(1);

a.output
23 Stock b;
b.output
24 Stock c = Stock ();
c.output
25
1. [问题1]
请根据C++程序运行时的输出结果,将代码中(1)、(2)空缺处的内容补充完整。

答案

参考答案:由题干的说明可知,程序的输出全部为A。根据主程序main()中语句“Stock b;”可以判断出:类Stock有默认的构造函数,且该构造函数将初始化类中的一些成员变量。因此(A)空缺处所填写的内容为Stock的构造函数,即“Stock():shares(A),share_val(A)”或“Stock():share_val(A),shares(A)”。
由于该Stock构造函数的函数体内没有语句,因此只能采用初始化列表的方式对成员变量进行初始化。成员函数output输出成员变量的值,即(B)空缺处所补充的内容是“cout”。

单项选择题
单项选择题 A1/A2型题