C++重载操作符之二(输入>>,输出<<,以及乘法)
来源:互联网 发布:知天命之年是什么意思 编辑:程序博客网 时间:2024/05/16 02:38
#include<iostream>using namespace std;class Rational{private:int numerator;int denominator;public:Rational(int n, int d) :numerator(n), denominator(d){}//乘法操作符既可以使用成员重载又可以使用友元重载的/*friend Rational operator *(const Rational &l, const Rational &r){return Rational((l.numerator*r.numerator) , (l.denominator*r.denominator));}*/const Rational operator *(const Rational &r){return Rational((this->numerator*r.numerator), (this->denominator*r.denominator));}//输入输出的操作符只能使用友元重载friend ostream & operator<<(ostream &o, Rational & r){o << r.numerator << "/" << r.denominator << endl;return o;}//修改了对象r,故用const修饰是错误的,会导致重载失败/*friend istream & operator>>(istream &i, const Rational & r){char c;i >> r.numerator >> c >> r.denominator;return i;}*/friend istream &operator>>(istream &i, Rational &r){ char c; i >> r.numerator >> c >> r.denominator; return i; }}; int main(){ Rational r1(1, 2);Rational r2(3, 5);Rational res = r1*r2;cout << "r1:" << r1 << "r2:" << r2;cout << "r1*r2=" << res << endl;cin >> r1 >> r2; cout << "r1:" << r1 << "r2:" << r2; res = r1*r2; cout << res << endl; return 0; }
0 0
- C++重载操作符之二(输入>>,输出<<,以及乘法)
- 重载输入>>,输出<<操作符
- c++ 重载 >>(输入) 、<< (输出) 操作符
- c++ 重载 >>(输入) 、<< (输出) 操作符
- 输入和输出的操作符重载
- 输入和输出重载操作符
- c++输入和输出操作符重载
- c++之操作符重载(二)
- C++重载输入和输出操作符以及IO标准库中的刷新输入缓冲区残留字符问题
- C++重载输入和输出操作符以及IO标准库中的刷新输入缓冲区残留字符问题
- 操作符重载之二
- C++输入操作符>> 输出操作符<<重载
- C++,重载输出操作符<<, cout.operator()
- 运算符重载之——输入和输出操作符
- Android For JNI(二)——C语言中的数据类型,输出,输入函数以及操作内存地址,内存修改器
- Android For JNI(二)——C语言中的数据类型,输出,输入函数以及操作内存地址,内存修改器
- C++(27)输入/输出、算术/关系操作符
- 重载输出操作符
- 使用pywin32读写Excel,出现类Open方法无效的解决方法
- 什么是反向代理服务器如何配置反向代理服务器
- 面试练习题-100w个数中找出最大的100个数
- Java中多客户端同时连接服务端
- C++Primer第五版 9.5.3节练习
- C++重载操作符之二(输入>>,输出<<,以及乘法)
- Android中内存缓存和文件缓存的实现原理
- linux 通过 crontab 和 shell 每三秒跑一次check
- Linux系统:开放源代码应用程序的编译与安装
- 用JDK中的 jps、jinfo、jstat、jstack、jmap、jconsole等命令对JVM,内存,线程进行分析和故障诊断
- C算法-求一个加上100和168后为完全平方数的整数
- 九宫格布局
- 字符串替换(持续更新中)
- ios Block传值