C++ 类相关知识

运算符重载


  • 常见重载运算符及返回值

        常见的重载运算符有:

class Time
{
public:
    const Time operator+(const Time& t) const; //加减乘除返回类型为 const Time
    
    Time& operator=(const Time& t);      //赋值运算符返回类型为 Time&,要注意判断 &t==this

    Time& operator++();                  //前置++无参数,返回类型为 Time&

    Time  operator++(int);               //后置++有参数int,返回类型为 Time
};
  • 友元函数

        友元函数不是类的成员函数,但是可以访问类的私有成员。友元函数在类中声明,声明时添加关键字friend,实现时不需要类作用域,不需要friend。常见的友元函数有<<和>>的重载。

class Time
{
public:
    //返回类型为ostream&以方便连续输出
    friend ostream& operator<<(ostream& os, const Time& t);  
};


ostream& operator<<(ostream& os, const Time& t)
{
    os<<"我的输出"<<endl;
    return os;
}
  • 转换函数

        类可以通过构造函数将其他类型变量转换为类对象。

        可以通过转换函数将类对象转换为其他类型,转换函数格式为 operator typeName (); 声明中无须返回值,但是实现中需要有返回值,typeName 为想要转换成为的类型。

class Time
{
public:
    operator int()
    {
        return int(4);
    }
};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值