これは私の最初の主要な課題で、OOPのC++です。初心者のOOPでのC++、割り当ての問題
using namespace std;
class Fraction
{
public:
Fraction(void);
Fraction(int aN, int aD);
int getNumerator();
int getDenominator();
Fraction adder(Fraction aF);
~ Fraction(void);
}
割り当てが加算機能は、現在のオブジェクトが最初のオペランドで、関数のパラメータがある方法で動作するようになっていることを言う:私は次のクラス定義を与えてきた私のヘッダの 2番目のオペランド。例。オブジェクトが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()
{
}
問題は算術演算ではありません。私はそれらを理解することができます。私はこの関数の加算器が何を返すことができるのか分かりません。何がコンパイルちょうど約ので、私はちょうどので、私たちは、私が作ったソースを見れば、私は(整数など単一の文字列)次に
を扱っていたサイズを知っている、最も単純な例を必要としています。
#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
Fraction`を使う方法を示しています。
B)私は、CPPの右に算術を得るとき、私は自分の製品を生産するためにf1.adder(aF)
を書くことができると仮定し、またはその仮定が間違っていますか?
私の主なdosen'tは、加算器機能を備えCPPで算術演算を実装する必要があります。私はちょうどオペレータを取得しないでください=¨これらのオペランドに一致します。 – Morphalog
1)私はそれがまだメインの一部ではないことを意味しました。 2)私はあなたの意見を誤解していると思います。私はf1の積分を変更して新しい分数を得ることができると言っているようですが、私はそれを知っています。私は自分のaFを初期化する方法や加算器を作る方法を分かりません – Morphalog
'aF'を返す必要はなく、代わりに' Fraction result(...、...) 'のような別の 'Fraction'を初期化します。 ; madmaxが示すようにreturn文で直接行います。 – BeyelerStudios