为什么 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
.
的数据成员和实例
为什么在运算符重载中采样为 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
.