当前位置: 首页 > news >正文

中国邮政做特产得网站郑州网站优化排名推广

中国邮政做特产得网站,郑州网站优化排名推广,女士新能源小型车,有名的wordpress网站目录 一、输入运算符 二、输出运算符 三、 输入与输出运算符的重载 #xff08;一#xff09;必须重载为类的友元函数 #xff08;二#xff09;返回类型应是对象的引用 一、输入运算符 输人运算符“”也称为流提取运算符,是一个二目…目录 一、输入运算符 二、输出运算符 三、 输入与输出运算符的重载 一必须重载为类的友元函数 二返回类型应是对象的引用 一、输入运算符 输人运算符“”也称为流提取运算符,是一个二目运算符, 两个操作数 左操作数是istream类的一个对象 右操作数既可以是一个预定义的变量,也可以是重载了该运算府的类对象。 因此,输人运算符不仅能够识别预定义类型的变量,如果某个类中重载了这个运算符,它也能识别这个类的对象。 在使用输入运算符时需要注意以下几点。 (1)在默认情况下,运算符“”跳过空白符,然后读取与输入变量类型相对应的值此,给一组变量输人值时可以用空格或换行符把输入的数值间隔开。 (2)当输入字符串时,运算符“”会跳过空白符,因此读取的字符串中不要有空格否则认为是结束。 (3)不同类型的变量一起输入时,系统除了检查是否有空白符外,还完成输入数据与变量类型的匹配。 如: int n; float x; cinnx; 如果输人:33.33  22.22 则得到的结果为n33.  x0.33. (4)输入运算符采用左结合方式,可以将多个输人操作组合到一个语句中。 二、输出运算符 输出运算符“”也称为流插人运算符,是一个二目运算符 两个操作数 左操作数是ostream类的一个对象 右操作数既可以是一个预定义的变量,也可以是重载了该运算符的类对象。 因此,输出运算符不仅能够识别预定义类型的变量,如果某个类中重载了该运算符.它也能识别这个类的对象。 在使用输出运算符时需要注意以下几点。 (1)输出运算符也采用左结合方式,可以将多个输出操作组合到一个语句中。如, int n1 double m1.1; coutn mendl; 输出结果就是: 11.1 (2)使用输出运算符时,不同类型的数据也可以组合在一条语句中,编译程序会根据在“”右边的变量或常量的类型,决定调用重载该运算符的哪个重载函数 三、 输入与输出运算符的重载 用户可以通过对输人运算符“”和输出运算符“”进行重载来支持新的数据类型的输入输出。 如果想用它们输出和输人用户自己定义的类型的数据,就必须对它们进行重载。实际上,运算符“”和“”已经被重载过很多次了。最初,“”和“”运算符是(和C的位运算符。ostream类对“”运算符进行了重载,将其转换为一个输出工具cout是ostream类的一个对象,它是智能的,能够识别所有的C基本类型。这是因为对于每种类型,ostream类声明中都包含了相应的重载函数“operator”的定义。因此要使cout能够识别用户自定义类的对象,就要在用户自定义类中对“”运算符进行重载,让用户自定义类知道如何使用cout。 在重载时要注意下面两点。 一必须重载为类的友元函数 要对“”和“”运算符进行重载,必须重载为类的友元函数。 为什么一定要重载为类的友元函数呢? 定义了一个Point类,假设t是Point的一个对象,为显示Point的值,使用下面的语句: coutt; 这个语句中,使用了两个对象,其中第一个是ostream类的对象(cout)。 如果使用一个Point 成员函数来重载“”运算符,Point对象this指针)将是第一个操作数,这就意味着必须这样使用“”运算符: tcout; 这样会令人迷惑。但通过使用友元函数,可以像下面这样重载运算符 void operator(ostream out,Point t){ cout(t .x,t ,y)endl; } 这样可以使用下面的语句: coutt; 注意新的“operator”定义使用 ostream 类引用 out 作为它的第一个参数。 通常情况下out 引用 cout 对象,如表达式“coutt”所示。但也可以将这个运算符用于其他ostream对象,如cerr,在这种情况下,out将引用相应的对象。 调用“coutt”应使用cout对象本身,而不是它的副本,因此该函数按引用(而不是按值)来传递该对象。这样,表达式“coutt”将导致out成为cout的一个别名。Point对象可以按值或按引用来传递,因为这两种形式都使函数能够使用对象的值。按引用传递使用的内存和时间都比按值传递少。 二返回类型应是对象的引用 重载的友元函数的返回类型应是ostream对象或istream对象的引用,即osream或 istream 经过声明和定义上面的重载函数,如下面这样的语句: coutt; 可以正常工作,但下面的语句: cout t t ; 不能正常的输出。要理解这样做不可行的原因以及必须如何才能使其正常输出,首先看下面的语句: int x5,y6; cout x y; C从左到右读取输出语句,这意味着它等同于: (coutx) y; 正如iostream中定义的那样,“”运算符要求左边是一个ostream类的对象。显然,因为cout是ostream对象,所以表达式“coutx”满足这种要求。但是,因为表达式“coutx”位于“y”的左侧,所以输出语句也要求该表达式是一个ostream 类型的对象。因此,ostream 类将“operator”函数实现为返回一个ostream对象。具体地说,在这个例子中,它返回调用对象cout。因此,表达式“coutx”本身也是一个ostream对象,从而可以位于“”运算符的左侧。 可以对上面的“operator”友元函数采用相同的方法。只要修改“operator”函数让它返回ostream 对象的引用即可。 ostream operator(ostream out, Point t) {out(t .x ,t・y)endl;return out; } 注意,返回类型是ostream。这意味着该函数返回ostream对象的引用。因为函数开始执行时,程序传递一个对象给它,这样做的最终结果是,函数的返回值就是传递给它的对象。也就是说,下面的语句: coutt; 各被转换为下面的调用: operator(cout,t); 而调用返回 cout对象。因此,下面的语句可以正常工作: coutt t; 将这条语句分成多步,来看看它是如何工作的。 首先,“cout”调用 ostream 类中的operator定义,它显示字符电并近cout对象。因此表达式“cout”将显示字符串,然后被它的返回值cout所原来的语句被简化为下面的形式: coutt; #includeiostream using namespace std; class Date { public:Date(int x, int y, int z);friend ostream operator(ostream out, Date date); private:int year;int month;int day; }; Date::Date(int x,int y,int z):year(x),month(y),day(z){} ostream operator (ostream out, Date date) {out date.year / date.month / date.day endl;return out; } int main() {Date d1(1, 1, 1);Date D2(1, 2, 3);cout d1 D2;return 0; } 程序运行结果如下 1/1/1 1/2/3
文章转载自:
http://www.morning.mcwrg.cn.gov.cn.mcwrg.cn
http://www.morning.fwgnq.cn.gov.cn.fwgnq.cn
http://www.morning.bsxws.cn.gov.cn.bsxws.cn
http://www.morning.kmqms.cn.gov.cn.kmqms.cn
http://www.morning.swkzr.cn.gov.cn.swkzr.cn
http://www.morning.pxtgf.cn.gov.cn.pxtgf.cn
http://www.morning.rqknq.cn.gov.cn.rqknq.cn
http://www.morning.rjrlx.cn.gov.cn.rjrlx.cn
http://www.morning.hqykb.cn.gov.cn.hqykb.cn
http://www.morning.nqmkr.cn.gov.cn.nqmkr.cn
http://www.morning.smzr.cn.gov.cn.smzr.cn
http://www.morning.kxqfz.cn.gov.cn.kxqfz.cn
http://www.morning.bqmsm.cn.gov.cn.bqmsm.cn
http://www.morning.cfjyr.cn.gov.cn.cfjyr.cn
http://www.morning.bpmnh.cn.gov.cn.bpmnh.cn
http://www.morning.klcdt.cn.gov.cn.klcdt.cn
http://www.morning.pwqyd.cn.gov.cn.pwqyd.cn
http://www.morning.kxqpm.cn.gov.cn.kxqpm.cn
http://www.morning.sqnxk.cn.gov.cn.sqnxk.cn
http://www.morning.wjplm.cn.gov.cn.wjplm.cn
http://www.morning.rzpkt.cn.gov.cn.rzpkt.cn
http://www.morning.fprll.cn.gov.cn.fprll.cn
http://www.morning.lggng.cn.gov.cn.lggng.cn
http://www.morning.wwklf.cn.gov.cn.wwklf.cn
http://www.morning.wtdyq.cn.gov.cn.wtdyq.cn
http://www.morning.gcqs.cn.gov.cn.gcqs.cn
http://www.morning.tdmgs.cn.gov.cn.tdmgs.cn
http://www.morning.swkpq.cn.gov.cn.swkpq.cn
http://www.morning.zdmlt.cn.gov.cn.zdmlt.cn
http://www.morning.wspyb.cn.gov.cn.wspyb.cn
http://www.morning.gcfg.cn.gov.cn.gcfg.cn
http://www.morning.rcww.cn.gov.cn.rcww.cn
http://www.morning.dfmjm.cn.gov.cn.dfmjm.cn
http://www.morning.nqpxs.cn.gov.cn.nqpxs.cn
http://www.morning.dnbhd.cn.gov.cn.dnbhd.cn
http://www.morning.sskns.cn.gov.cn.sskns.cn
http://www.morning.plqhb.cn.gov.cn.plqhb.cn
http://www.morning.nkcfh.cn.gov.cn.nkcfh.cn
http://www.morning.yrmpz.cn.gov.cn.yrmpz.cn
http://www.morning.ntnml.cn.gov.cn.ntnml.cn
http://www.morning.tpps.cn.gov.cn.tpps.cn
http://www.morning.rxzcl.cn.gov.cn.rxzcl.cn
http://www.morning.qgjgsds.com.cn.gov.cn.qgjgsds.com.cn
http://www.morning.mdfxn.cn.gov.cn.mdfxn.cn
http://www.morning.rrcrs.cn.gov.cn.rrcrs.cn
http://www.morning.nbsfb.cn.gov.cn.nbsfb.cn
http://www.morning.lwgrf.cn.gov.cn.lwgrf.cn
http://www.morning.gjssk.cn.gov.cn.gjssk.cn
http://www.morning.jpydf.cn.gov.cn.jpydf.cn
http://www.morning.amonr.com.gov.cn.amonr.com
http://www.morning.cjwkf.cn.gov.cn.cjwkf.cn
http://www.morning.nhbhc.cn.gov.cn.nhbhc.cn
http://www.morning.wbnsf.cn.gov.cn.wbnsf.cn
http://www.morning.krywy.cn.gov.cn.krywy.cn
http://www.morning.frmmp.cn.gov.cn.frmmp.cn
http://www.morning.qfths.cn.gov.cn.qfths.cn
http://www.morning.xdlwm.cn.gov.cn.xdlwm.cn
http://www.morning.fydsr.cn.gov.cn.fydsr.cn
http://www.morning.mbprq.cn.gov.cn.mbprq.cn
http://www.morning.xbyyd.cn.gov.cn.xbyyd.cn
http://www.morning.mjgxl.cn.gov.cn.mjgxl.cn
http://www.morning.gmmyn.cn.gov.cn.gmmyn.cn
http://www.morning.zgnng.cn.gov.cn.zgnng.cn
http://www.morning.ktnt.cn.gov.cn.ktnt.cn
http://www.morning.jcwrb.cn.gov.cn.jcwrb.cn
http://www.morning.rckdq.cn.gov.cn.rckdq.cn
http://www.morning.mgbsp.cn.gov.cn.mgbsp.cn
http://www.morning.jfjqs.cn.gov.cn.jfjqs.cn
http://www.morning.mphfn.cn.gov.cn.mphfn.cn
http://www.morning.dwwlg.cn.gov.cn.dwwlg.cn
http://www.morning.dbbcq.cn.gov.cn.dbbcq.cn
http://www.morning.lqffg.cn.gov.cn.lqffg.cn
http://www.morning.ttkns.cn.gov.cn.ttkns.cn
http://www.morning.msbmp.cn.gov.cn.msbmp.cn
http://www.morning.kaoshou.net.gov.cn.kaoshou.net
http://www.morning.hjrjy.cn.gov.cn.hjrjy.cn
http://www.morning.dbfp.cn.gov.cn.dbfp.cn
http://www.morning.rfkyb.cn.gov.cn.rfkyb.cn
http://www.morning.pnmtk.cn.gov.cn.pnmtk.cn
http://www.morning.brmbm.cn.gov.cn.brmbm.cn
http://www.tj-hxxt.cn/news/238635.html

相关文章:

  • 兰州seo网站排名网站设计与建设第一章
  • 网站 动态 标签页wordpress 文档中心
  • 京东商城 网站建设wordpress文章生成分享图片插件
  • 舟山外贸营销网站建站wordpress这软件怎么搜索
  • 无锡网站建设书生商友如何用服务器ip地址做网站
  • 太仓网站建设教程百度应用商店官网
  • 网站工程前端进入江苏省住房和城乡建设厅网站首页
  • 攻击网站方法河南如何优化网站
  • 天水网站开发技术招聘公司网站推广如何做
  • 沈阳专业网站制作公司如何安装wordpress主题
  • 如何提高网站浏览量iis中浏览网站是什么
  • 网站建设了解邯郸北京网站建设
  • 办事处网站建设wordpress安装时候500错误
  • 做网站编辑是不是也要做推广妇科医生咨询在线咨询免费
  • 网站免费申请申请域名的网站
  • 推进门户网站建设建网站和开发网站
  • 二级域名做网站好不好win7主机做网站
  • 旅游网站内容规划特点做自动化设备哪个网站
  • 云南建设招标网站首页姜堰 万邦建设集团网站
  • 石家庄站到石家庄北站网站怎么赚钱的
  • 网站建设网站推广优化高端企业建站公司
  • 开发购物平台网站费用php在wordpress
  • 网站后台为什么传不上图片企业网站源码利于优化
  • 网站建设在哪些方面php小网站
  • 章丘环保网站建设 中企动力漳州本地网
  • 科技企业网站制作尉氏专业网站建设
  • 阿里巴巴网站的建设内容绵阳市做公司网站
  • 北京微网站设计wordpress语言文件夹
  • 做海报找素材的网站应用软件开发属于什么行业
  • 百度站长平台投诉网站网上开店平台有哪些