c++学习--运算符重载

c++学习

–运算符重载

环境:
codeblocks:17.12
系统:windows10 家庭版

输入输出运算符重载,只能重载成友元函数

输出运算符重载

通常情况下,输出符只能直接输出标准类型的值,而我们自定义类型是不能直接输出的

cout返回值为cout
cout << p1 返回值还是cout,因为可以继续加<<输出

我们在Person对象中声明ostream友元函数

friend ostream& operator<<(ostream &outPut,const Person &p);
然后函数体

ostream& operator<<(ostream &output,const person &p) { output << p.name "-" p.address; return output; } < code>

这个时候我们再去输出p1试试

这个时候可以发现,cout可以直接输出我们的自定义类型

输入运算符重载

正常情况下

这样是不行的,不能直接给自定义类型输入值,但是我们重载输入运算符就能自己自定义

声明:
   friend istream& operator>>(istream &inPut, Person &p)
函数体
istream& operator>>(istream &inPut, Person &p)
{
    p.address = new char[10];
    inPut >> p.name >> p.address;
    return inPut;
}

测试一下


重载成功


 上一篇
Idea打包jar包 Idea打包jar包
Idea打包jar包 环境:idea:ultimate 2018.1系统:windows10 家庭版 1.先将代码修改成通用格式一些常量修改为形参,如路径Path path = new Path("D:\\test.txt&
2019-04-18
下一篇 
c++学习--类型重载 c++学习--类型重载
c++学习–类型重载 环境:codeblocks:17.12系统:windows10 家庭版 正常情况下,同一个类型变量只能给同一个类型变量赋值,如果想要夸数据类型赋值,这个时候就需要类型重载,我们用成员函数的方式实现我们定义一个Ti
2019-04-18
  目录