C++入门教程(七十四):重载运算符

本文介绍了C++中的运算符重载,通过基础示例和讲解,阐述如何为运算符赋予新的功能。详细讨论了作为成员函数和全局函数的重载方式,以及可重载的运算符列表。并提供巩固练习,帮助读者掌握运算符重载的使用。
摘要由CSDN通过智能技术生成

小古银的官方网站(完整教程):http://www.xiaoguyin.com/
C++入门教程视频:https://www.bilibili.com/video/av20868986/

目录

使用重载运算符

基础示例 1

现在尝试实现text * 2这样的操作,使得运算得到结果你好你好。其中textstd::u32string类型的字符串对象,并且保存的值是你好。也就是"你好" * 2"你好你好"

#include <iostream> // std::cout std::endl
#include <string> // std::string

std::string operator*(const std::string &text, unsigned long long n);

int main(void)
{
    std::string text = "你好";
    std::cout << "你好 × 0:" << (text * 0) << std::endl;
    std::cout << "你好 × 1:" << (text * 1) << std::endl;
    std::cout << "你好 × 2:" << (text * 2) << std::endl;
    std::cout << "你好 × 3:" << (text * 3) << std::endl;
    std::cout << "你好 × 4:" << (text * 4) << std::endl;
    return 0;
}

std::string operator*(const std::string &text, unsigned long long n)
{
    if (n == 0)
    {
        return std::string();
    }
    std::string result;
    for (unsigned long long i = 0; i < n; ++i)
    {
        result += text;
    }
    return result;
}

输出结果:

你好 × 0:
你好 × 1:你好
你好 × 2:你好你好
你好 × 3:你好你好你好
你好 × 4:你好你好你好你好

基础讲解 1

*是一个运算符&#

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值