1、二级 C+模拟 490 及答案解析(总分:156.00,做题时间:90 分钟)一、选择题(总题数:40,分数:72.00)1.在 C+语言中函数返回值的类型是由_决定的。(分数:2.50)A.调用该函数时系统临时B.return 语句中的表达式类型C.定义该函数时所指定的函数类型D.调用该函数时的主调函数类型2.有如下类和对象的定义: class Constants public: static double getPI() return 3.1416; ; Constants constants; 下列各组语句中,能输出 3.1416 的是_。(分数:1.00)A.coutconstants
2、-getPI();和 coutConstants:getPI();B.coutconstants.getPI();和 coutConstants.getPI();C.coutconstants-getPI();和 coutConstants-getPI();D.coutconstants.getPI();和 coutConstants:getPI();3.下面关于 break 语句的描述中,不正确的是(分数:1.00)A.break 可以用于循环体内B.break 语句可以在 for 循环语句中出现多次C.break 语句可以在 switch 语句中出现多次D.break 语句可用于 if 条
3、件判断语句内4.对关系 S 和 R 进行集合运算,结果中既包含 S 中的所有元组也包含 R 中的所有元组,这样的集合运算称为_。(分数:1.00)A.并运算B.交运算C.差运算D.积运算5.有如下类定义: class MyClass public: _ private: int data; ; 若要为 MyClass 类重载流输入运算符“”,使得程序中可以“cinobj;”的形式改变 MyClass 类的对象 obj 中数据成员 data 的值,则横线处的声明语句应为_。(分数:1.00)A.friend istreamB.friend istreamC.istreamD.istream6.下
4、列语句中,与语句“n=(ab?(bc?1:0);0);”的功能等价的是_。(分数:1.00)A.if(a=b)n=0;B.if(ab)|(bcn=1;else n=0;C.if(ab)if(bc)n=1;else n=;else n=0;D.if(ab)n=1;else if(b=c)n=1;else if(bc)n=1;else n=0;7.下列选项中不能作为 C 语言合法常量的是_。(分数:2.50)A.“cd“B.0.1e+6C.“/a“D.“/011“8.语句 ofstream f(“SALARY. DAT“, ios: :app | ios: :binary) ;的功能是建立流对象
5、f,试图打开文件 SALARY.DAT 并与之连接,并且(分数:2.00)A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B.若文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件9.以下关于友元函数的叙述不正确的是((分数:2.50)A.友元函数提供了类之间数据共享的一个途径B.一个友元函数可以访问任何类的任何成员C.友元函数破坏了数据的封装D.友元函数增加了程序设计的灵活性10.语句 ofstream f(“SALARY.DAT“,ios:appl
6、ios:binary);的功能是建立流对象 f,试图打开文件SALARY.DAT 并与之连接,并且 _ 。(分数:2.00)A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B.若文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件11.下列描述中,错误的是 _ 。(分数:2.00)A.公有继承时基类中的公有成员在派生类中仍是公有成员B.公有继承时基类中的保护成员在派生类中仍是保护成员C.保护继承时基类中的公有成员在派生类中仍是公有成员D.保护继承时基类中
7、的保护成员在派生类中仍是保护成员12.有如下程序: #includeiostream using namespace std; class Instrument public: virtual void Display()=0; ; class Piano:public Instrument public: void Display()/*函数体略*/ ; int main() Instrument s; Instrument*p=0; /; return 0; 下列叙述中正确的是_。(分数:1.00)A.语句“Insturment*p=0;”编译时出错B.语句“Instrument s;”编
8、译时出错C.类 Piano 中的 Display 函数不是虚函数D.类 Instrument 是一个虚基类13.在深度为 5 的满二叉树中,叶子节点的个数为(分数:2.00)A.32B.31C.16D.1514.下列关于派生类的描述中,错误的是 _ 。(分数:1.00)A.一个派生类可以作为另一个派生类的基类B.派生类至少有一个基类C.派生类的成员除了它自己的成员外,还包含了它的基类的成员D.派生类中继承的基类成员的访问权限到派生类中保持不变15.已知函数 f 的原型是 void f(int*a,longlong v2; 下列调用语句中正确的是_。(分数:1.00)A.f(v1,B.f(v1,
9、v2);C.f(D.f(16.在面向对象方法中,不属于“对象”基本特点的是_。(分数:1.00)A.一致性B.分类性C.多态性D.标识唯一性17.关键字 unsigned 不能修饰的类型是_。(分数:2.50)A.charB.intC.floatD.long int18.C+类体系中,不能被派生类继承的有 _ 。(分数:1.00)A.构造函数B.虚函数C.静态成员函数D.赋值操作函数19.有如下类定义: class XX int xdata; public: XX(int n=0):xdata(n) ; class YY:public XX int ydata; public: YY(int
10、m=0, int n=0):XX(m), ydata(n) ; YY 类的对象包含的数据成员的个数是_。(分数:2.50)A.1B.2C.3D.420.面向对象程序设计将数据和什么放在一起,作为一个相互依存、不可分割的整体来处理?(分数:2.00)A.对数据的操作B.信息C.数据隐藏D.数据抽象21.在下列链表中,能够从任意一个结点出发直接访问到所有结点的是_。(分数:2.50)A.单链表B.循环链表C.双向链表D.二叉链表22.有类定义如下: class Type public: Type(int i=0); Type operator-(int); friend Type operator
11、+(Type,Type); private: int val: 若有对象定义“Type c1;”,则下列语句序列中,错误的是_。(分数:2.00)A.Type(3)+c1;B.c1+Type(3);C.3-c1;D.c1-3;23.已知类 Base、Middle 和 Derived 的定义如下: class Base public: virtual void foo()cout“a“; ; class Middle:public Base public: void foo()cout“b“; ; class Derived:public Middle public: void foo()cou
12、t“c“; ; 且有如下程序段: Base* p1; Middle* p2; Derived d; p1= p1-foo(); p2= p2-foo(); 运行这个程序段的输出是_。(分数:2.50)A.aaB.bbC.ccD.ab24.有如下函数模板声明: templatetypename,T T Max(T a,T b)return(ab)?a:b; 下列对函数模板 Max()的调用中错误的是_。(分数:1.00)A.Max(3.5,4.5)B.Max(3.5,4)C.Maxdouble(3.5,4.5)D.Maxdouble(3.5,4)25.下列函数的运行结果是_。 #includei
13、ostream.h int f(int a,int b) int c; if(ab)c=1; else if(a=b)c=0; else c=-1; return(c); void main() int i=2,j=3; int p=f(i,j); coutp;(分数:2.50)A.-1B.1C.2D.编译出错,无法运行26.下列关于 C+流的表述中,正确的是_。(分数:2.50)A.与每个输入或输出设备的信息交换都可以通过流类来实现B.从流中获取数据的操作称为插入操作C.cin 是一个预定义的输入流类D.向流中添加数据的操作称为提取操作27.有如下程序: #includeiostream u
14、sing namespace std; class A public: A()cout“A“; ; class Bpublic:B()cout“B“; class C:public A B b; public: C()cout“C“; ; int main()C obj;return 0; 执行后的输出结果是_。(分数:2.50)A.ABCB.BACC.ACBD.CBA28.下列运算符函数中肯定不属于类 FunNumber 的成员函数的是 _ 。(分数:2.00)A.int operator-(FunNumber);B.FunNumber operator-();C.FunNumber ope
15、rator-(int);D.int operator-(FunNumber,FunNumber);29.没有“int x=11;”,则表达式(x+*2/3)的值是_。(分数:2.50)A.7B.8C.11D.1230.字符串“a+b=12/n/t”的长度为_。(分数:2.50)A.12B.10C.8D.631.不能作为函数重载的判断依据的是 _ 。(分数:2.00)A.constB.返回类型C.参数个数D.参数类型32.在 C+中既可以用于文件输入又可以用于文件输出的流类是_。(分数:2.50)A.fstreamB.ifstreamC.ofstreamD.iostream33.语句 couts
16、etfill(“)setw(4)setfill(“i“)setw(7)“m“endl;的输出结果为 _ 。(分数:2.00)A.iiiimmmmmmmB.iiiimmmmmmC.iiiimmmD.iiiiimm34.软件测试的目的是_。(分数:2.50)A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误35.下列关于二叉树的叙述中,正确的是_。(分数:1.00)A.叶子结点总是比度为 2 的结点少一个B.叶子结点总是比度为 2 的结点多一个C.叶子结点数是度为 2 的结点数的两倍D.度为 2 的结点数是度为 1 的结点数的两倍36.下列关于数据库设计的叙述中,
17、正确的是_。(分数:1.00)A.在需求分析阶段建立数据字典B.在概念设计阶段建立数据字典C.在逻辑设计阶段建立数据字典D.在物理设计阶段建立数据字典37.有如下类定义: class MyBase int k; public: MyBase(int n=0): k(n) int value()const return k; ; class MyDefived: MyBase int j; public: MyDefived(int i): j(i) int getK()const return k; int getJ()const return j; ; 编译时发现有一处语法错误,对这个错误最
18、准确的描述是_。(分数:1.00)A.函数 getK 试图访问基类的私有成员变量 kB.在类 MyDerived 的定义中,基类名 MyBase 前缺少关键字 public、protected 或 privateC.类 MyDerived 缺少一个无参的构造函数D.类 MyDefived 的构造函数没有对基类数据成员 k 进行初始化38.在深度为 7 的满二叉树中,叶子结点的个数为(分数:2.00)A.32B.31C.64D.6339.有以下语句,则对 a 数组元素的引用不正确的是(0i9) int a10=0,1,2,3,4,5,6,7,8,9,*p=a;(分数:1.00)A.ap=a)B.
19、*( /狗的颜色:黑、白、黄、褐、花、其他 enum DOGCOLOR BLACK, WHITE, YELLOW, BROWN, PIEBALD, OTHER; class Dog /狗类 DOGCOLOR color; char name20; static int count; public: Dog(char name, DOGCOLOR color) strcpy(this-name, name); /ERROR *found* strcpy(this-color, color); DOGCOLOR getColor()const return color; /ERROR *found
20、* const char*getName()const return*name; const char*getColorString()const switch(color) case BLACK: return “black“: case WHITE: return “white“: case YELLOW: return “yellow“: case BROWN: return “brown“: case PIEBALD: return “piebald“: return “motley“; void show()const cout“There is a“getColorString()
21、“dog named“name“.“endl: ; int main() /ERROR *found* Dog dog1(“Hoho“, WHITE), dog2(“Haha“, BLACK); dog3(“Hihi“, OTHER); dog1. show(); dog2. show(); dog3. show(); return 0; (分数:30.00)_三、简单应用题(总题数:1,分数:30.00)42.请使用 VC6 或使用【答题】菜单打开 proj2 下的工程 proj2,该工程中包含一个程序文件 main.cpp,其中有类 CPolygon(“多边形”)、CRectangle(“
22、矩形”)、CTriangle(“三角形”)的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。该程序的正确输出结果应为: 20 10 注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“/ *found*”。 #include iostream using namespace std; class CPolygon public: / *found* _/纯虚函数 area 声明 void printarea (void) / *found* cout _ endl; ; class CRectangle: public CPolygon int width
23、; /长方形宽 int height; /长方形高 public: CRectangle (int w, int h): width (w), height (h) int area (void) return (width * height); ; class CTriangle : public CPolygon int length; /三角形一边长 int height; /该边上的高 public: CTriangle (int 1, int h): length (1), height (h) / *found* int area (void) return (_)/2; ; in
24、t main() CRectangle rect (4,5); CTriangle trgl (4,5); / *found* _*ppoly1, *ppoly2; ppoly1 = ppoly2 = ppoly1 - printarea(); ppoly2 - printarea(); return 0; (分数:30.00)_四、综合应用题(总题数:1,分数:24.00)43.请使用菜单命令或直接用 VC6 打开 下的工程 proj3,其中声明了 Date 类,它是一个用于表示日期的类。成员函数 isLessThan 用以比较两个日期的大小:当第一个日期早于第二个日期时,返回 true,否
25、则返回 false。请补充完整函数 isLessThan。在 main 函数中给出了一组测试数据,此情况下程序的输出应该是: 2007-06-212007-07-03 2007-06-21=2007-06-19 2007-06-212010-01-01 注意:只需在函数 isLessThan 的/*333*和/*666*之间填入若干语句,不要改动程序中的其他内容。 #include“Date.h“ int main() Date date1(2007, 6, 21), date2(2007, 7, 3), date3(2007, 6, 19), date4(2010, 1, 1); date1
26、.show(); date1.isLessThan(date2)?cout“ “:cout“=“; date2.show(); coutendl; date1.show(); date1.isLessThan(date3)?cout“:cout“=“; date3.show(); coutendl; date1.show(); date1.isLessThan(date4)?cout“ “:cout“=“; date4.show(); coutendl; writeToFile(“c:/test“); /不用考虑此语句的作用 return 0; /proj3/Date.cpp #include
27、“Date.h“ void Date:show(ostream bool Date:isLessThan(Date date)const /*333* /*666* /proj3/Date.h #includeiostream #includeiomanip using namespace std; class Date int year; int month; int day; public: Date(int y, int m, int d):year(y), month(m), day(d) int getYear()constreturn year; int getMonth()con
28、streturn month; int getDay()eonstreturn day; void show(ostream bool operator=(Date date)const return year=date.year bool isLessThan(Date date)const; ; void writeToFile(const char*path); (分数:24.00)_二级 C+模拟 490 答案解析(总分:156.00,做题时间:90 分钟)一、选择题(总题数:40,分数:72.00)1.在 C+语言中函数返回值的类型是由_决定的。(分数:2.50)A.调用该函数时系统
29、临时B.return 语句中的表达式类型C.定义该函数时所指定的函数类型 D.调用该函数时的主调函数类型解析:解析 C+中函数 return 语句中返回的类型应与函数定义指定的类型一致,即函数定义的类型即为函数应返回的类型。2.有如下类和对象的定义: class Constants public: static double getPI() return 3.1416; ; Constants constants; 下列各组语句中,能输出 3.1416 的是_。(分数:1.00)A.coutconstants-getPI();和 coutConstants:getPI();B.coutcons
30、tants.getPI();和 coutConstants.getPI();C.coutconstants-getPI();和 coutConstants-getPI();D.coutconstants.getPI();和 coutConstants:getPI(); 解析:解析 本题考查静态成员函数。静态成员函数由于没有 this 指针,所以不能访问本类中的非静态成员。引用静态成员函数有 2 种方式,一种是直接使用类来引用,即 Constants:getPI();另一种是使用对象来引用,即 constants.getPI()。所以本题答案为 D。3.下面关于 break 语句的描述中,不正确
31、的是(分数:1.00)A.break 可以用于循环体内B.break 语句可以在 for 循环语句中出现多次C.break 语句可以在 switch 语句中出现多次D.break 语句可用于 if 条件判断语句内 解析:解析 本题考查的是 break 语句的使用,break 可以结束 switch 语句和 for4.对关系 S 和 R 进行集合运算,结果中既包含 S 中的所有元组也包含 R 中的所有元组,这样的集合运算称为_。(分数:1.00)A.并运算 B.交运算C.差运算D.积运算解析:解析 关系的并运算是指由结构相同的两个关系合并,形成一个新的关系,其中包含两个关系中的所有元组。5.有如
32、下类定义: class MyClass public: _ private: int data; ; 若要为 MyClass 类重载流输入运算符“”,使得程序中可以“cinobj;”的形式改变 MyClass 类的对象 obj 中数据成员 data 的值,则横线处的声明语句应为_。(分数:1.00)A.friend istream B.friend istreamC.istreamD.istream解析:解析 本题考查重载流运算符“”,根据重载规则,本题答案为 A。6.下列语句中,与语句“n=(ab?(bc?1:0);0);”的功能等价的是_。(分数:1.00)A.if(a=b)n=0;B.i
33、f(ab)|(bcn=1;else n=0;C.if(ab)if(bc)n=1;else n=;else n=0; D.if(ab)n=1;else if(b=c)n=1;else if(bc)n=1;else n=0;解析:解析 根据三元表达式:?的规则,当 ab 时,结果为表达式 bc? 1:0其意义为 if(bc),则结果为 1。其表达的意义和 C 选项一样。7.下列选项中不能作为 C 语言合法常量的是_。(分数:2.50)A.“cd“ B.0.1e+6C.“/a“D.“/011“解析:解析 所谓常量是在程序运行过程中,其值不能被改变的量。包括整型数量、实型常量、字符常量和字符串常量等类
34、型。选项 B 0.1e+6 是用指数形式表示的实型常量,C 语言的语法规定,字母 e 之前必须要有数字,后面的指数必须为整数,并且在字母 e 前后以及数字之间不得插入空格;选项 C 用双引号括起来表示字符串/a;选项 D“/011“表示用单引号括起来的转义字符八进制数 011;选项 A,在用单引号表示的字符常量中,只能包含一个字符,所以不正确。8.语句 ofstream f(“SALARY. DAT“, ios: :app | ios: :binary) ;的功能是建立流对象 f,试图打开文件 SALARY.DAT 并与之连接,并且(分数:2.00)A.若文件存在,将文件写指针定位于文件尾;若
35、文件不存在,建立一个新文件 B.若文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件解析:解析 本题考查的是文件流的操作, app 表示以追加方式打开文件(即将指针移至文件尾) , binary 表示以二进制方式打开文件。9.以下关于友元函数的叙述不正确的是((分数:2.50)A.友元函数提供了类之间数据共享的一个途径B.一个友元函数可以访问任何类的任何成员 C.友元函数破坏了数据的封装D.友元函数增加了程序设计的灵活性解析:解析 友元函数的 f#用在于提高程序的运行效率,
36、但是它破坏了类的封装性和隐藏性,使得非成员函数可以访问类的私有成员。只有在类中声明了某个函数是自己的友元函数之后,该友元函数才能够访问本类的私有成员,而不是任何类的任何成员都可以访问。10.语句 ofstream f(“SALARY.DAT“,ios:appl ios:binary);的功能是建立流对象 f,试图打开文件SALARY.DAT 并与之连接,并且 _ 。(分数:2.00)A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件 B.若文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D.若文件存在,打
37、开失败;若文件不存在,建立一个新文件解析:11.下列描述中,错误的是 _ 。(分数:2.00)A.公有继承时基类中的公有成员在派生类中仍是公有成员B.公有继承时基类中的保护成员在派生类中仍是保护成员C.保护继承时基类中的公有成员在派生类中仍是公有成员 D.保护继承时基类中的保护成员在派生类中仍是保护成员解析:解析 保护继承时基类中的公有成员在派生类中是保护成员。12.有如下程序: #includeiostream using namespace std; class Instrument public: virtual void Display()=0; ; class Piano:publi
38、c Instrument public: void Display()/*函数体略*/ ; int main() Instrument s; Instrument*p=0; /; return 0; 下列叙述中正确的是_。(分数:1.00)A.语句“Insturment*p=0;”编译时出错B.语句“Instrument s;”编译时出错 C.类 Piano 中的 Display 函数不是虚函数D.类 Instrument 是一个虚基类解析:解析 本题考查纯虚函数和抽象类,纯虚函数是在声明虚函数时被“初始化”为 0 的函数,包含纯虚函数的类为抽象类,抽象类不能被实例化,所以语句“Instrum
39、ent s;”在编译时出错。13.在深度为 5 的满二叉树中,叶子节点的个数为(分数:2.00)A.32B.31 C.16D.15解析:解析 所谓满二叉树是指这样的一种二叉树:除最后一层外,每一层上的所有节点都有两个叶子节点。这就是说,在满二叉树中,层上的节点数都达到最大值,即在满二叉树的第 k 层上有 2 k1 个节点,且深度为 m 的满二叉树有 2 m 1 个节点。14.下列关于派生类的描述中,错误的是 _ 。(分数:1.00)A.一个派生类可以作为另一个派生类的基类B.派生类至少有一个基类C.派生类的成员除了它自己的成员外,还包含了它的基类的成员D.派生类中继承的基类成员的访问权限到派生
40、类中保持不变 解析:解析 基类与派生类的关系如下: 基类是对派生类的抽象,派生类是对基类的具体化。基类抽取了它的派生类的公共特征,而派生类通过增加信息将抽象的基类变为某种有用的类型,派生类是基类定义的延续。 派生类是基类的组合。 公有派生类的对象可以作为基类的对象处理。 由此可知选项 A、B 和 C 都是正确的。而在继承中,采用不同的继承方式,将限制派生类对基类成员的访问。所以选项 D 是错误的。15.已知函数 f 的原型是 void f(int*a,longlong v2; 下列调用语句中正确的是_。(分数:1.00)A.f(v1,B.f(v1,v2);C.f(D.f( 解析:解析 函数参数
41、的 3 种传递方式:将变量名作为形参和实参,即传值方式;传递变量指针;引用形参。本题中函数 f 的第一个形参为指针,那么调用 f 函数时,第一个参数必须是地址,所以必须是 public: XX(int n=0):xdata(n) ; class YY:public XX int ydata; public: YY(int m=0, int n=0):XX(m), ydata(n) ; YY 类的对象包含的数据成员的个数是_。(分数:2.50)A.1B.2 C.3D.4解析:解析 YY 类的对象的数据成员除了自身定义的 ydata 外,还有从基类继承的数据成员 xdata。20.面向对象程序设计
42、将数据和什么放在一起,作为一个相互依存、不可分割的整体来处理?(分数:2.00)A.对数据的操作 B.信息C.数据隐藏D.数据抽象解析:解析 面向对象语言包含 3 个要素,印对象,类和继承。这 3 个要素反映 7 面向对象的传统观念。面向对象程序设计的本质是把数据和对数据的操作当成一个整体即对象。21.在下列链表中,能够从任意一个结点出发直接访问到所有结点的是_。(分数:2.50)A.单链表B.循环链表 C.双向链表D.二叉链表解析:解析 由于线性单链表的每个结点只有一个指针域,由这个指针只能找到其后件结点,但不能找到其前件结点。也就是说,只能顺着之后向链尾方向进行扫描,因此必须从头指针开始,
43、才能访问到所有的结点。循环链表的最后一个结点的指针域指向表头结点,所有结点的指针构成了一个环状链,只要指出表中任何一个结点的位置就可以从它出发访问到表中其他所有的结点。双向链表中的每个结点设置有两个指针,一个指向其前件,另一个指向其后件,这样从任意一个结点开始,既可以向前查找,也可以向后查找,在结点的访问过程中一、般从当前结点向链尾方向扫描,如果没有找到,则从链尾向头结点方向扫描,这样部分结点就要被遍历两次,因此不符合题意。二叉链表是二叉树的一种链式存储结构,每个结点有两个指针域,分别指向左右子结点,可见,二叉链表只能由根结点向叶子结点的方向遍历。22.有类定义如下: class Type p
44、ublic: Type(int i=0); Type operator-(int); friend Type operator+(Type,Type); private: int val: 若有对象定义“Type c1;”,则下列语句序列中,错误的是_。(分数:2.00)A.Type(3)+c1;B.c1+Type(3);C.3-c1; D.c1-3;解析:23.已知类 Base、Middle 和 Derived 的定义如下: class Base public: virtual void foo()cout“a“; ; class Middle:public Base public: voi
45、d foo()cout“b“; ; class Derived:public Middle public: void foo()cout“c“; ; 且有如下程序段: Base* p1; Middle* p2; Derived d; p1= p1-foo(); p2= p2-foo(); 运行这个程序段的输出是_。(分数:2.50)A.aaB.bbC.cc D.ab解析:解析 本题考查的是程序执行的相关知识。p1=这个函数,所以两次输出的内容都是 c,所以选择 C。24.有如下函数模板声明: templatetypename,T T Max(T a,T b)return(ab)?a:b; 下列对函数模板 Max()的调用中错误的是_。(分数:1.00)A.Max(3.5,4.5)B.Max(3.5,4) C.Maxdouble(3.5,4.5)D.Maxdouble(3.5,4)解析:解析 本题考查函数模板的引用。引用模板函数和引用一般函数在语法形式上基本相同。需要注意的是,说明一个函数模板后,当编译系统发现有一个对应的函数调用时,将根据实参中的类型来确认是否调用函数模板中的对应形参。本题选项 B 中,编译系统从第一个参数“3.5”获得信息“double 型数据”和从第二个参数获得信息“inL 型数据”,两者矛盾。25.下列函数