私のプログラムでは、2つのmoney値(クラス/コンストラクタの2つのインスタンスを作成)を受け入れることになっていますが、それらも比較する予定です。私はそれらを比較する方法、または使用するコンストラクタ(私は3つのオーバーロードコンストラクタがある)がわからない。 最初のif文がコメントアウトされたのは、値の比較をどのように考えていたかですが、書き込んだ時間と同じ時間displayMoney()を再現していました。 2番目のif文は、プログラムがユーザー入力に基づいて使用するコンストラクタを選択すると思った方法です。コンストラクタ/ oveloadingを使用することについてはごめんなさい。混乱します。コンストラクタを使用してユーザ入力を比較/計算する
相続人はこれまでのところ、私のコード:
#include <iostream>
#include <string>
using namespace std;
class money
{
private:
int dollars;
int cents;
public:
money();
money(int str);
money(int str1, int str2);
double displayMoney();
};
money::money()
{
dollars = 0;
cents = 0;
}
money::money(int str)
{
dollars = str;
cents = 0;
}
money::money(int str1, int str2)
{
dollars = str1;
cents = str2;
}
double money::displayMoney()
{
double total = dollars + cents/(double)100;
cout << "$" << total << endl;
return total;
}
int main()
{
int input11, input12, input21, input22;
money c;
cout << "Enter 2 money values: "<< endl;
cout << "\n Dollars 1: ";
cin >> input11;
cout << " Cents 1: ";
cin >> input12;
cout << "\n Dollars 2: ";
cin >> input21;
cout << " Cents 2: ";
cin >> input22;
money x(input11, input12);
money y(input21, input22);
/*if(x.displayMoney() > y.displayMoney())
{
cout << "\n $" << x.displayMoney() << " is greater than " << "$" << y.displayMoney() << endl;
}
else if(x.displayMoney() < y.displayMoney())
{
cout << "\n $" << y.displayMoney() << " is greater than " << "$" << x.displayMoney() << endl;
}
else
{
cout << "\n $" << x.displayMoney() << " is equal to " << "$" << y.displayMoney() << endl;
}*/
/*if (input1 > 0 && input2 > 0)
{
money x(input1, input2);
x.displayMoney();
}
else if (input2 <= 0 && input1 > 0)
{
money x(input1);
x.displayMoney();
}
else
{
money x;
x.displayMoney();
}*/
return 0;
}
検索演算子のオーバーロード。 – user222031