为什么 return 类型的操作重载是示例

why return type of operation overloading is sample

为什么在运算符重载中采样为 return 类型 谁能解释这段代码是如何工作的。为什么 return 类型本身是 class 这里的 .x 有什么用

#include<iostream>
    class sample
    {
    private:
    int x;
    public:
    sample();
    void display();
    friend sample operator+(sample ob3,sample ob4)
    };
    sample::sample()
    {
    x=1;
    }
    void sample::display()
    {
    cout<<x;
    }
    sample sample::operator+(sample ob3,sample ob4)
    {
    sample ob5;
    ob5.x=ob3.x+ob4.x;
    return(ob4);
    }
    int main()
    {
    sample ob1,ob2,ob3;
    ob3=ob1+ob2;
    ob3.display();
    }

why sample as return type in operation overloading

return类型是sample,因为写运算符重载的作者选择使用sample作为return类型。二进制 operator+ 重载具有与操作数类型相同的 return 类型是很典型的。

它之所以典型,部分原因是它遵循所有相应 built-in 运算符的示例,这是一个很好的约定。当 built-in operator+ 的两个操作数具有相同类型(转换后)时,表达式的类型也相同。例如,1+1 的操作数是 int,表达式的类型也是 int。在操作数具有不同类型(例如指针算术)的情况下,结果类型是操作数类型之一。

whats the use of .x here

. 是访问对象成员的运算符。 x 是 class sample.

的数据成员和实例