C++ PrimerPlus

作者:(美)普拉达  出版社:人民邮电出版社

题目 题型
编写通常接受一个参数(字符串的地址),并打印该字符串的函数。然而,如果提供了第二个参数(int类型),且该参数不为0,则该函数打印字符串的次数将为该函数被调用的次数(注意,字符串的调用次数不等于第二个参数的值,而等于函数被调用的次数)。是的,这是一个非常可 问答
CandyBar结构包含3个成员。第一个成员存储candy bar的品牌名称;第二个成员存储candy bar的重量(可能有小数);第三个成员存储candy bar的热量(整数)。请编写一个程序,它使用这样的函数,即将Candy Bar的引用、char 问答
编写一个函数,它接受一个指向string对象的引用作为参数,并将该string对象的内容转换为大写,为此可使用表6.4描述的函数toupper()。然后编写一个程序,它通过使用一个循环让您能够用不同的输入来测试这个函数,该程序的运行情况如下: Ent 问答
下面是一个程序框架: #include <iostream> using namespace std; #include <cstring>         // for strlen(), strcpy() struct s 问答
编写模板函数max5(),它将一个包含5个T类型元素的数组作为参数,并返回数组中最大的元素(由于长度固定,因此可以在循环中使用硬编码,而不必通过参数来传递)。在一个程序中使用该函数,将T替换为一个包含5个int值的数组和一个包含5个dowble值的数组 问答
编写模板函数maxn(),它将由一个T类型元素组成的数组和一个表示数组元素数目的整数作为参数,并返回数组中最大的元素。在程序对它进行测试,该程序使用一个包含6个int元素的数组和一个包含4个double元素的数组来调用该函数。程序还包含一个具体化,它将ch 问答
修改程序清单8.14,使其使用两个名为SumArray()的模板函数来返回数组元素的总和,而不是显示数组的内容。程序应显示thing的总和以及所有bebt的总和。 问答
哪种函数适合定义为内联函数? 问答
假设song()函数的原型如下: void song (const char * name, int times); a. 如何修改原型,使times的默认值为1? b. 函数定义需要做哪些修改? c. 能否为name提供默认值“O. 问答
编写iquote()的重载版本——显示其用双引号括起的参数。编写3个版本:一个用于int参数,一个用于double参数,另一个用于string参数。 问答
下面是一个结构模板: struct box {        char maker[40];        float height;        float width;        float length;        float 问答
为让函数fill()和show()使用引用参数,需要对程序清单7.15做哪些修改? 问答
指出下面每个目标是否可以使用默认参数或函数重载完成,或者这两种方法都无法完成,并提供合适的原型。 a. mass(density, volume)返回密度为density,体积为volume的物体的质量,而mass(density)返回密度为density 问答
编写返回两个参数中较大值的函数模板。 问答
给定复习题6的模板和复习题4的box结构,提供一个模板具体化,它接受两个box参数,并返回体积较大的一个。 模板: a. mass(density, volume)返回密度为density,体积为volume的物体的质量,而mass(den 问答
在下述代码(假定这些代码是一个完整程序的一部分)中,v1、v2、v3、v4和v5分别是哪种类型? int g(int x); ... float m = 5.5f; float & rm = m; decltype(m) v1 = m; de 问答