概述
内容:
说明:
操作重载
示例代码:
// Overload_Operators.cpp: 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
class Complex
{
public:
int a, b;
void input( string s )
{
int v1 = 0;
int i = 0;
while( s[i] != '+' )
{
v1 = v1 * 10 + s[i] - '0';
i++;
}
while( s[i] == ' ' || s[i] == '+' || s[i] == 'i' )
{
i++;
}
int v2 = 0;
while( i < s.length() )
{
v2 = v2 * 10 + s[i] - '0';
i++;
}
a = v1;
b = v2;
}
};
ostream& operator<<( ostream& os, const Complex& c )
{
return os << c.a << ( c.b > 0 ? '+' : '-' ) << 'i' << c.b;
}
Complex operator+( const Complex& a, const Complex& b )
{
return { a.a + b.a, a.b + b.b };
}
int main()
{
Complex x, y;
string s1, s2;
cin >> s1;
cin >> s2;
x.input( s1 );
y.input( s2 );
Complex z = x + y;
cout << z << endl;
system( "pause" );
return 0;
}
知识点:
操作符:<< 和 + 的重载
最后
以上就是彩色紫菜为你收集整理的Overload Operators的全部内容,希望文章能够帮你解决Overload Operators所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复