c++ OOP初学者,赋值问题
beginner in OOP in c++, assignment issues
这是我在c++中的第一个面向对象的主要作业。对于我的头,我已经给出了以下类定义:
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()
都被设置为返回整数,但我不知道加法器(分数aF)应该返回什么。它说它应该返回类Fraction
的一个实例。它不可能是整数,即使我的乘积应该是2,如果我们按照构造函数中设置的参数去做的话。
为例,这是我目前为止构建的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()
{
}
问题不在于算术。我可以算出来。我只是不知道这个addder函数能返回什么。我需要最简单的示例,以便编译任何东西,以便我知道我正在处理的大小(整数,单个字符串等)
然后,如果我们看看我所做的源代码。
#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() to produce a random
分数'。
b)我假设当我得到cpp中的算术正确时,我可以写f1.adder(aF)
来生产我的产品,或者这个假设是错误的?
a)很明显,您的方法Fraction::adder必须返回另一个Fraction对象,如下所示:
...
return Fraction(resultingNumeratorHere, resultingDenominatorHere);
b)肯定。您必须在cpp
相关文章:
- 为"adjacent"变量赋值时出现问题
- 关于 c++ 函数中指针赋值的简单问题
- 移动赋值运算符;尝试引用已删除的函数.我该如何解决这个问题?
- C++:关于使用 Stroustrup 示例移动构造函数/赋值的问题
- c++问题:给一个变量赋值后,另一个变量发生了变化
- 复制和赋值构造函数的问题
- 类模板的用户定义赋值运算符时遇到问题
- template_back和move赋值构造函数存在问题
- 赋值重载:为什么使用相同的对象会导致程序中出现问题
- C++赋值重载自赋值问题
- 重载赋值运算符的问题
- 交换与使用std::map[]运算符赋值(const问题)
- C++中赋值运算符和 c 字符串的问题
- 在C++中重载赋值运算符时出现问题
- 我在 c++ 中的赋值重载运算符有什么问题?(包括详细信息)
- C++ 向量构造函数和赋值问题
- "无符号长整型"和'unsigned long long int'赋值问题
- 动态分配结构数组:赋值问题(c++)
- c++ OOP初学者,赋值问题
- 奇怪的赋值问题-C++