我是靠谱客的博主 彩色紫菜,最近开发中收集的这篇文章主要介绍Overload Operators,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

内容:


说明:

操作重载

示例代码:

// 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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部