手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>C/C++>列表

二级C 重点难点分析:模板[2]

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
<模板形参表声明>中声明的虚拟类型参数能够用做:

 函数的返回值类型
 函数的形参的类型
 函数体内变量的类型

例14.1.1 下列是模板声明的开始部分,其中正确的是( )。[2004年9月 选择第30题]
A.template <T> B.template <class T1,T2>
C.template <class T1,class T2> D.template <class T1;class T2>
答案:C

例14.1.2 下面的函数模板定义中错误的是( )。[2005年4月 选择第24题]
A.template<class Q> B.template<class Q>
Q F(Q x){return Q x;} Q F(Q x){return x x;}
C.template<class T> D.template<class T>
T F(T x){return x*x;} bool F(T x){return x>1;}
解析:各个选项中声明的Q和T都是虚拟类型参数。函数模板形参表中声明的虚拟类型参数能够用做:
 函数的返回值类型
 函数的形参的类型
 函数体内变量的类型
选项B、C和D符合以上三种用法。而选项A让虚拟类型参数Q直接参和运算是错误的。虚拟类型是具体类型(如int型,double型等)的抽象。我们知道,int本身并不能直接参和数学运算,但是由他定义的int型变量或int型参数能够直接参和运算。虚拟类型Q和T本身也不能直接参和运算,但是由他们定义的“T类型”或“Q类型”的参数x能够参和运算。所以,选项A中“Q x”的表达是错误的。
答案:A

14.1.2 考点2:模板函数

函数模板中声明的函数称为模板函数。
调用一个模板函数的格式如下:
函数名 <模板实参表> (函数实参表);

函数名(函数实参表);
第二种格式中省略了任何的模板实参,使用这种格式是需要一定条件的(详见考点4)。
类模板的成员函数都是模板函数。

例14.1.3 以下函数模板max的功能是:返回数组a中最大元素的值。请将横线处缺失部分补充完整。[2005年4月 填空第14题]
template <typename T>
T max (T a[], int n)
{
T m = a[0];
for (int i = 1; i < n; i )
if (a[i]>m) ;
return m;
}
解析:本题考查模板函数的定义。在编写函数体时,模板函数和普通函数是相同的。根据题意,返回的m值应该是a中最大元素的值,所以当a[i]>m时,应该将较大的a[i]值赋给m。在遍历数组a[]后,最终m就保存了数组a[]中最大元素的值。
答案:m=a[i]
  本章节内容来自希赛全国电脑等级考试用书《电脑等级考试考点分析、题解和模拟——二级C 语言》。(购书请见 :http://shop.csai.cn/itbook/itbookinfo.asp?lbbh=10032460)

[1] [2] [3] [4]




文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

热点关注
IDC资讯 虚拟主机 域名注册 托管租用 vps主机 智能建站
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源
网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧
行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒
网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer
网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash
程序设计 Java技术 C/C++ VB delphi
网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术
操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 价格总览 | 资讯中心 | 友情链接 | 网站地图 | 招贤纳士 | RSS