C ++:将对象添加到当前对象

mic密

我目前正在尝试创建一个成员函数,该函数将对象Fraction f添加到当前对象,并返回对当前对象的引用。我的第二个函数是一个非朋友辅助运算符,它添加了两个Fraction对象并返回结果的副本。我不确定如何执行此操作,并正在寻找一些建议。几乎所有对象只是前面的成员函数中已被简化的部分。基本上我要做的就是添加简化的分数。这是我到目前为止的内容:

//header.h       
class Fraction {
        int num;
        int den;
    public:
        Fraction();
        Fraction(int, int);
        Fraction& operator+=(const Fraction& f);
        friend bool operator==(const Fraction&, const Fraction&);
        void simplify();
        void display() const;
    };

    Fraction operator+(const Fraction&, const Fraction&);

和模块:

//module.cpp

    #include "Fraction.h"
    #include <iostream>


    Fraction::Fraction() {
        num = 0;
        den = 0;
    }

    Fraction::Fraction(int n, int d) {
        num = n;
        den = d;
        simplify();
    }

    void Fraction::simplify() {
        int temp = den;
        int a = num;
        int b = den;
        int gcd;
        if (b > a) {
            b = num;
            a = den;
        }
        while (temp != 0) {
            temp = a % b;
            a = b;
            b = temp;
        }
        gcd = a;
        num /= gcd;
        den /= gcd;
    }

    void Fraction::display() const {
        std::cout << num << "/" << den << std::endl;
    }

    //member function in question
    Fraction& Fraction::operator+=(const Fraction& f) {
        num += f.num;
        den += f.den;
        return *this;
    }

//member function in question
        Fraction operator+(const Fraction&, const Fraction&) {

    }

编辑:猜猜我以前不太清楚,部分原因是没有显示辅助函数。我尝试定义成员函数,而上面的代码目前是我目前拥有的。我不确定在逻辑上是否合理,因为我仍在研究其他定义。非朋友帮手操作员是我的绊脚石,不知道该怎么办。如果我可以得到关于+ =成员运算符的定义是否正确的一些帮助,以及有关如何处理非朋友辅助运算符的一些建议,那将很棒。对不起,造成任何混乱。

全能骆驼摩哈

由于简化了分数,因此您要做的就是使用以下公式:
将两个分数相加

代码如下:

 Fraction& Fraction::operator+=(const Fraction& f) {
        num = num * f.den + f.num * den;
        den *= f.den;
        simplify();
        return * this;
    }

编辑:看一下这个问题以获取更多有关运算符重载的信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Objective-C中将对象添加到NSMutableArray

来自分类Dev

在C#中将对象添加到列表

来自分类Dev

C ++:将对象添加到集合中

来自分类Dev

C#:如何将对象添加到数组?

来自分类Dev

将对象添加到链接列表C ++

来自分类Dev

C ++:将对象添加到集合中

来自分类Dev

C ++-在循环中实例化将对象添加到std :: vector

来自分类Dev

关于C#使用foreach循环将对象添加到列表

来自分类Dev

在列表中将对象的字段添加到C#中的列表中

来自分类Dev

在C ++中将对象添加到2D矢量

来自分类Dev

C#在将对象添加到列表时做一些事情

来自分类Dev

尝试将对象添加到向量时出现错误C2280

来自分类Dev

将对象添加到NSMutableArray时,Objective-c程序崩溃

来自分类Dev

将对象数组添加到 C# 中的列表视图

来自分类Dev

C#-将数据添加到对象内部的对象

来自分类Dev

C#-将数据添加到对象内部的对象

来自分类Dev

将对象添加到对象数组

来自分类Dev

将对象添加到对象数组

来自分类Dev

C#创建对象并添加到列表

来自分类Dev

将元类级别添加到C ++对象模型

来自分类Dev

使用对象将公式添加到Excel C#

来自分类Dev

C# 将项目添加到 JSON 对象

来自分类Dev

C#如何将对象添加到我的列表框,但显示一个字符串

来自分类Dev

将对象添加到GroupBox问题

来自分类Dev

将对象的副本添加到ArrayList

来自分类Dev

Json:将对象添加到数组

来自分类Dev

将对象添加到数组

来自分类Dev

JSF将对象添加到arrayList

来自分类Dev

将对象添加到数组