C++day04 -- 操作运算符

一、操作运算符

  操作运算符:在C++中,编译器有能力将数据、对象和操作符共同组成表达式,解释为对全局或成员函数的调用

  该全局或成员函数被称为操作符函数,程序员可以通过重定义函数操作符函数,来达到自己想要的效果

二、友元函数

  友元函数就是使函数在全局变量定义,在类中需要调用,因此此函数在类中声明时需要在函数的头部添加friend属性 

    1、如果在类中声明友元函数,那么友元函数可以查看类中的所有成员

    2、友元函数不是成员,因此不能直接访问成员变量

三、单目运算符   ++/--  

    全局函数:如果运算为:a++,那么在全局函数中定义为:类型    operater  ++   (类名)  

    成员函数:如果运算为:a++,那么在成员函数中定义为:类型    operater  ++   (void)

      注意:在全局函数中定义,一定要在类中写入友元函数的声明,如果是要定义成员函数++a的话,需要将参数列表的 void 改为 int 即可,全局函数也是如此

扫描二维码关注公众号,回复: 2745725 查看本文章

  

四、双目运算符  / + - * % | ^ & +=  -=   *=  /=   ...

    全局函数:如果运算为:a-b,那么在全局函数中定义为:类型    operater  -   (类名  名字,类名   名字)  

    成员函数:如果运算为:a-b,那么在成员函数中定义为:类型    operater  -   (类名  名字)

       注:具体返回类型为指针要是引用根据情况而论

     下图的例子就是在全局定义,在类中声明的友元函数

五、输入输出运算符

  注意:输入、输出运算符不能重载为成员函数,只能是友元。因此只能全局定义

   全局函数输出流运算符定义   ostream& operator << (ostream& os,Point& p)

                    {       }

   全局函数输入流运算符定义   istream& operator >> (istream& is,Point& p)

                    {       }

  

六、运算符的总结

  只能当做成员函数的操作符函数

    1、[] 下标运算符,可以把对象当作数组来使用。  

    2、() 函数运算符,可以把对象当作函数来使用。

    3、-> 成员访问运算符,可以把对象当作指针来使用。

    4、* 解引用运算符,可以把对象当作指针来使用。

  只能当做全局函数的操作符函数

    1、输入流运算符函数

    2、输出流运算符函数

猜你喜欢

转载自www.cnblogs.com/goul/p/9460035.html