1 / 2
文档名称:

8.3 自定义的操纵算子.doc

格式:doc   页数:2
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

8.3 自定义的操纵算子.doc

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

8.3 自定义的操纵算子.doc

文档介绍

文档介绍:自定义的操纵算子
不带参数的操纵算子
定义不带参数的操纵算子比较简单。下面的程序定义了一个名为newline的操纵算子,它和预定义的操纵算子endl具有相同的功能。
例8_9:
操纵算子的目的主要是解决在流的插入或提出表达式中使用函数调用所引起的问题。
一个简单的操纵处算符是一个说明为
type& fun(type&);
的函数地址。这里type可以是istream、ostream、iostream或ios类的类名。
在istream类中说明了两个特殊的插入函数:
istream& istream::operator>>(istream& (*anFun)(istream&));
isteam& istream::operator>>(ios& (*anFun)(ios&));
在ostream类中也说明了两个特殊的插入函数:
ostream& ostream::operator>>(ostream& (*anFun)(ostream&));
osteam& ostream::operator>>(ios& (*anFun)(ios&));
这些成员函数都接收一个函数指针参数。当这些成员函数被启动时,它们又简单地通过这个函数指针调用这个指针所指向的函数。
语句 cout<<”A line”<<newline<<”another line”; 计算过程:
首先计算优先级比运算符<<高的运算符组成的表达式,然后对表达式
cout<<”A line”
使用插入操作符ostream::operator<<(char *),最后,表达式
cout<<newline
使用上面列出的ostream类的第一个插入函数调用newline。
带有一个int或long类型参数的操纵算子
由于函数调用运算符的优先级高于插入符,所以语句 cout<<a<<setprecsion(2)<<b;中先调用函数setprecision。但是,函数setprecision必须在插入符输出了变量a之后才能设置精度,因此在调用函数setprecision时不能立即设置精度,相反,它应返回某个对象,这个对象可被它所在的类中重载的插入符用来为变量b设置所需的精度。
C++,来帮助程序员定义带有一个参数的操纵算子。这个头文件中还特别定义了帮助程序员定义一个带有int类型或long类型参数的操纵算子所需的类。在该文件中,setprecision被定义为:
SMANIP(int) setprecision(int n);
函数setprecision()返回SMANIP(int)类的一个对象,SMANIP(int)类的构造函数在这个对象中保存下来一个函数的地址和它的参数值。所以语句(cout<<a<<setprecsion(2)<<b;)的计算过程是:
1、首先计算表达式a、b和setprecision的值,函数setprecision返回一个SMANIP(int)类的一个对象。
2、使用插入符ostream::operator<< (float)将表达式a的值以原有的精度输出。
3、使用

最近更新

2024年贵州交通职业技术学院单招职业倾向性考.. 40页

2024年贵州城市职业学院单招职业倾向性测试题.. 39页

2024年贵州应用技术职业学院单招职业适应性测.. 40页

2024年贵州文化旅游职业学院单招职业技能考试.. 40页

2024年贵州水利水电职业技术学院单招职业技能.. 38页

2024年贵州省安顺地区单招职业适应性考试模拟.. 40页

2024年贵州职业技术学院单招职业技能测试题库.. 39页

2024年贵州装备制造职业学院单招职业倾向性测.. 39页

2024年贵州食品工程职业学院单招综合素质考试.. 39页

2024年赣西科技职业学院单招职业适应性测试模.. 39页

2024年辽宁地质工程职业学院单招职业技能考试.. 42页

2024年辽宁师范高等专科学校单招职业倾向性考.. 41页

2024年辽宁省抚顺市单招职业适应性考试题库完.. 39页

2024年辽宁省营口市单招职业适应性考试模拟测.. 41页

2024年辽宁省阜新市单招职业适应性测试模拟测.. 39页

2024年辽宁职业学院单招职业倾向性测试模拟测.. 39页

2024年辽源职业技术学院单招职业倾向性测试题.. 42页

2024年达州职业技术学院单招职业倾向性测试模.. 39页

2024年连云港师范高等专科学校单招综合素质考.. 39页

2024年遂宁职业学院单招职业适应性测试模拟测.. 41页

2024年邯郸应用技术职业学院单招职业适应性考.. 38页

2024年邵阳工业职业技术学院单招职业适应性测.. 39页

2024年郑州体育职业学院单招职业技能考试模拟.. 39页

2024年郑州医药健康职业学院单招职业倾向性考.. 42页

2024年郑州城市职业学院单招职业倾向性考试模.. 41页

2024年郑州智能科技职业学院单招综合素质考试.. 40页

2025年广州卫生职业技术学院单招职业技能测试.. 64页

美团代运营业务委托合同 6页

新概念青少版2A各单元重点归纳 15页

九年级家长会课件PPT下载(初三2班) 25页