在 C++ 中重载加法运算符
运算符重载是一种程序员可以重新定义运算符含义的技术。它是一种机制,允许程序员通过为符号和关键字添加新含义来扩展其编程语言的语法。
运算符可分为一元、二元或三元。一元运算符采用一个操作数,二元运算符采用两个操作数,三元运算符采用三个操作数。
你可以使用 friend
函数、成员函数或普通函数重载运算符。本文将只关注在 C++ 中使用 friend
函数重载加法运算符。
friend
关键字在 C++ 语言中用于指定哪些类可以访问类的私有数据成员。重要的是要注意 friend
函数不是类成员,但被授予访问该类的部分或全部私有数据和函数的权限。
Friend 类通常用于为其他类提供帮助函数。friend
函数有时被称为非成员函数,因为它们不是类的成员。
在 C++ 中,如果要使用 friend
函数重载运算符,则需要将其声明为 friend
。friend
声明告诉编译器该函数将与同一类的其他函数和对象一起使用。
在 C++ 中使用 friend
函数重载加法运算符
在 C++ 中,重载的加法运算符是一个二元运算符,它接受两个相同类型的操作数并对它们执行加法运算。
以下步骤用于使用 friend
函数在 C++ 中重载加法运算符:
示例代码:
#include <iostream>
class Demo
{
private:
int e_demo {};
public:
Demo(int demo) :
e_demo{ demo } { }
friend Demo operator+(const Demo& x1, const Demo& x2);
int getDemo() const { return e_demo; }
};
Demo operator+(const Demo& x1, const Demo& x2)
{
return Demo{x1.e_demo + x2.e_demo};
}
int main()
{
Demo demo1{ 5 };
Demo demo2{ 5 };
Demo demoSum{ demo1 + demo2 };
std::cout << "Total Count is " << demoSum.getDemo();
return 0;
}
输出:
Total Count is 10
相关文章
Arduino 复位
发布时间:2024/03/13 浏览次数:315 分类:C++
-
可以通过使用复位按钮,Softwarereset 库和 Adafruit SleepyDog 库来复位 Arduino。
Arduino 的字符转换为整型
发布时间:2024/03/13 浏览次数:181 分类:C++
-
可以使用简单的方法 toInt()函数和 Serial.parseInt()函数将 char 转换为 int。
Arduino 串口打印多个变量
发布时间:2024/03/13 浏览次数:381 分类:C++
-
可以使用 Serial.print()和 Serial.println()函数在串口监视器上显示变量值。