A-A+

阅读以下应用说明 图和C++代码 根据要求回答问题1至问题3。 [说明] 已知以下C++程序

2022-08-05 21:10:44 问答库 阅读 172 次

问题详情

阅读以下应用说明、图和C++代码,根据要求回答问题1至问题3。
[说明]
已知以下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 }
请根据C++程序运行时的输出结果,将代码中(1)、(2)空缺处的内容补充完整。请帮忙给出正确答案和分析,谢谢!

参考答案

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

考点:问题,根据