首页 > 试题广场 >

为让函数fill()和show()使用引用参数,需要对程序清

[问答题]
为让函数fill()和show()使用引用参数,需要对程序清单7.15做哪些修改?
推荐
首先,将原型修改成下面这样:
// function to modify array object
void fill(std:;array<double, Seasons> & pa);
// function that uses array object without modifying it
void show(const std:;array<double, Seasons> & da);

注意,show()应使用const,以禁止修改对象。
接下来,在main()中,将fill()调用改为下面这样:
fill(expenses);
函数show()的调用不需要修改。
接下来,新的fill()应类似于下面这样:
void fill(std:;array<double, Seasons> & pa)   // changed
{
      using namespace std;
      for (int i = 0; i < Seasons; i++)
      {
            cout << "Enter " << Snames[i] << " expenses: ";
            cin >> pa[i];          // changed
       }
}

注意到(*pa)[i]变成了更简单的pa[i]。
最后,修改show()的函数头:
void show(std::array<double, Seasons> & da)

发表于 2018-05-08 08:34:20 回复(0)