北京建设网站合同下载,一站式外贸综合服务平台,邯郸哪里有做网站的李,谷歌引擎搜索入口希望对某个类对象进行读写操作#xff0c;直接cout类对象endl;或cin类对象;编译器会报错#xff0c;所以我们必须提供一份重载的input/output运算符#xff1a;
重载ostream运算符
ostream operator(ostream os, const Triangu…希望对某个类对象进行读写操作直接cout类对象endl;或cin类对象;编译器会报错所以我们必须提供一份重载的input/output运算符
重载ostream运算符
ostream operator(ostream os, const Triangular rhs)
{os(rhs.beg_pos(),rhs.legnth());rhs.display(rhs.length(),rhs.beg_pos(),os);return os;//传入重载运算符函数的ostream对象又被原封不动地返回
}//给定对象
Triangular tri(6,3);couttriendl;
//输出结果(3,6) 6 10 15 21 28 36ostream对象未声明为const是因为每一次输出都会更改ostream对象的内部状态rhs这种被输出的对象就会被声明为const。我们使用了传址的方式是基于效率考虑而非为了修改其对象内容。
重载istream运算符
istream operator(istream is,Triangular rhs)
{char ch1,ch2; int bp,len;//假设输入为(3,6) 6 10 15 21 28 36//那么ch1(,bp3,ch2,,len6。isch1bpch2len;//设定rhs的三个数据成员rhs.beg_pos(bp);rhs.length(len);rhs.next_reset();return is;
}一般而言input运算符的实现比较复杂。因为读入的数据可能有问腿。