057day(流插入,流提取运算符和类型转换运算符的重载)
来源:互联网 发布:mongodb和mysql对比 编辑:程序博客网 时间:2024/06/04 18:34
172210704111-陈国佳总结《2017年12月6日》【连续057天】
标题:流插入,流提取运算符和类型转换运算符的重载;
内容:
A.流插入和流提取运算符:
cout<<5<<"this";为什么能够成立?
“<<”(左移) “>>”(右移)
其中,cout是iostream中定义的ostream类的对象,而“<<”进行了重载;
实现:
ostream & ostream::operator<<(int n)
{ ......... return*this;}
ostream & ostream::operator<<(const char*s)
{ ......... return*this;}
注:返回值是orstream&是为了cout<<5返回为cout,与后面的<<"this"继续反应;
函数调用形式:cout.operator<<(5).operator<<("this");
举例:
class CStudent{
public: int nAge;
};
ostream & operator<<(ostream & o,const CStudent & s){
o<<s.nAge; return o;
} //注意要定义成全局函数
int main(){
CStudent s;
s.nAge=5;
cout<<s<<"hello";
return 0;
}
B.类型转换运算符重载:
class Complex{
double real,imag;
public:
Complex(double r=0,double i=0):real(r),imag(i){ };
operator double () { return real;} //注意重载函数的返回值就为double,不需要写
};
int main()
{
Complex c(1.2,3.4);
cout<<(double)c<<endl;
double n=2+c; //等价于 double n=2+c.operator double()
cout<< n;
}
明日计划:自增,自减运算符的重载;
- 057day(流插入,流提取运算符和类型转换运算符的重载)
- 运算符重载-流插入运算符和流提取运算符的重载
- 【C++】流插入、提取运算符和类型转换
- 重载流插入运算符<<和流提取运算符>>
- 重载流插入运算符和流提取运算符
- 重载流插入运算符和流提取运算符
- 流插入运算符流提取运算符的重载
- 重载之重载流插入和流提取运算符
- C++之运算符的重载三:重载流插入运算符和流提取运算符
- 重载流插入/流提取运算符
- C++的流插入运算符“<<”和流提取运算符“>>”的重载
- 流插入运算符和流提取运算符的重载
- 关于重载流插入运算符和流提取运算符的问题
- 重载流插入和流提取运算符
- C++语言基础 例程 重载流插入运算符和流提取运算符
- 重载流插入运算符《和流提取运算符》 第五题
- 【c/c++】流插入运算符和流提取运算符重载
- 类型转换运算符和指针运算符的重载
- CryptoJS 加密的使用方法
- [21]_如何选择合适的IO口并接上合适的外设?
- 经典二分题----光合作用
- Java学习笔记3——System类
- dpkg:处理 xxx (--configure)时出错解决办法
- 057day(流插入,流提取运算符和类型转换运算符的重载)
- 转载-【整理】详解Python中re.sub
- HDU-1241 Oil Deposits
- Linux 进程控制编程
- C语言中 * "星号"的九种用法
- spring下动态数据源的切换
- word在任意页面添加页码
- 探析malloc、calloc和realloc的区别以及认识柔性数组
- JAVASE之异常递归简单实现