0627137

练习6.27:编写一个函数,它的参数是initializer_list类型的对象,函数的功能是计算列表中所有元素的和。

【出题思路】

掌握initializer_list对象的声明和初始化方法,利用initializer_list对象设计形参可变的函数。

【解答】

满足题意的程序如下所示,注意iCount的参数是initial!zer_list对象,在调用该函数时,我们使用了列表初始化的方式生成实参。

#include <iostream>
using namespace std;
int iCount(initializer_list<int> il)
{
    int count = 0;
    //遍历il的每一个元素
    for(auto val : il)
        count += val;
    return count;
}
int main()
{
    //使用列表初始化的方式构建initializer_list<int〉对象
    //然后把它作为实参传递给函数iCount
    cout<<"1,6, 9 的和是:"<<   iCount({1, 6, 9})<<endl;
    cout<< "4,5, 9, 18 的和是:" << iCount({4, 5, 9, 18} ) << endl;
    cout<<"10, 10, 10, 10, 10, 10, 10, 10, 10 的和是:"
        <<iCount ({10, 10, 10, 10, 10, 10, 10, 10, 10})<<endl;
    return 0;
}

本页共30段,1390个字符,1762 Byte(字节)