C++学习--使用类(1)

本文介绍了C++中操作符重载的两种方法及注意事项,并详细解释了类的自动类型转换过程,包括如何通过构造函数实现从基本类型到类类型的转换,以及如何通过成员函数实现从类类型到基本类型的转换。

1 操作符重载

      operator op(argument-list)

     eg  operator +(argument)

注意:

          (1)重载的操作符不能违反操作符原来的语法规则,例如不能将%,重载成之使用一个操作符

            (2) 不能重新定义新的操作符

         (3)不能重载下面的操作符:sizeof   .    ::    ?:  等等

2 友元函数

    friend type operator op(argument-list)

 注意:

          (1)友元函数只有定义时加friend关键字,生命时和正常函数一样

          (2)友元函数不是类的成员函数,但是可以访问类的私有成员

 

以上两种是重载操作符的方法,二者没有好坏之分,根据不同的情况使用

 

3 类的自动转换

  (1)只有一个参数的构造函数,可以把和参数相同类型转换成类的类型

       className(int para);

    可以把整型转换成类的类型

  注意:只有存在一个参数的构造函数时才可以,而且可以用关键字(explicit)显示的取消这种转换

  即

             explicit className(int para) 没有转换的功能,只是个一般的构造函数

(2)把类的类型转换成一般的数据类型

 

              operator type();    如: operator int(); operator double();等等

注意: 没有返回值,没有参数,必须是类的成员函数,而且不能存在二义性的情况

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值