gpt4 book ai didi

c++ - C++ OOP初学者,分配问题

转载 作者:行者123 更新时间:2023-11-28 00:00:03 25 4
gpt4 key购买 nike

这是我在 C++ 面向对象编程方面的第一个主要任务。对于我的 header ,我得到了以下类定义:

using namespace std;

class Fraction
{
public:
Fraction(void);
Fraction(int aN, int aD);
int getNumerator();
int getDenominator();
Fraction adder(Fraction aF);
~ Fraction(void);
}

赋值说明加法器函数应该以当前对象是第一个操作数,函数的参数是第二个操作数的方式工作。前任。如果对象是 1/6 并且参数是 1/3,那么加法器应该给出 3/6。

我的问题如下:

a) getNumerator()getDenominator() 都设置为返回一个整数,但我不知道 adder(Fraction aF) 应该返回什么。它说它应该返回类 Fraction 的实例。如果我们按照构造函数中设置的参数进行操作,即使我的产品应该产生两个,它也不能是整数。

例如,这是我到目前为止构建的 cpp:

#include "fraction.h"
#include <string>

Fraction::Fraction()
{
}

Fraction::Fraction(int aN, int aD) {
numerator = aN;
denominator= aD;
}

int Fraction::getNumerator() {
return numerator;
}

int Fraction::getDenominator() {
return denominator;
}

Fraction Fractiom::adder(Fraction aF) {
aF = 1/3?
return ??
}

Fraction::~Fraction()
{
}

问题不在于算术。我能弄清楚这些。我只是不知道这个函数加法器能返回什么。我需要一个最简单的例子,所以几乎任何东西都可以编译,这样我就知道我正在处理的大小(整数、单个字符串等)

然后,如果我们查看我制作的源代码。

#include <iostream>
#include "fraction.h"
using namespace std;

int main() {

Fraction f1(1, 6);
cout << f1.getNumerator() << "/" << f1.getDenominator() << endl;
cin.get();
return 0;
}

第一个示例只是展示了我如何使用 getNumerator()getDenominautor() 来生成一个随机的Fraction`。

b) 我假设我可以编写 f1.adder(aF) 来生成我的产品,当我在 cpp 中得到正确的算法时,或者这个假设是错误的?

最佳答案

a) 很明显,您的方法 Fraction::adder 必须像这样返回另一个 Fraction 对象:

...
return Fraction(resultingNumeratorHere, resultingDenominatorHere);

b) 当然。你必须在 cpp 中实现算术

关于c++ - C++ OOP初学者,分配问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39820270/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com