小古银的官方网站(完整教程):http://www.xiaoguyin.com/
C++入门教程视频:https://www.bilibili.com/video/av20868986/
目录
使用重载运算符
基础示例 1
现在尝试实现text * 2
这样的操作,使得运算得到结果你好你好
。其中text
是std::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
*
是一个运算符&#