データメンバーを持つクラス(バージョン)を作成しようとしています。メンバー関数はセッター(カスケード呼び出しを許可)とゲッター(PLPを使用して定数オブジェクトを処理する)です。 intメインでは、ユーザーが数値を入力できるようになり、1つのステートメント内のすべてのデータメンバーをカスケーディングするメンバー関数呼び出しを使用し、ゲッターを呼び出してバージョンを表示し、データメンバーの値だけを返す必要があります。カスケードとPLPを使用してクラスを作成する
私はかなりすべてをコード化しましたが、私はステップを逃しているか、パラメータに間違っているように感じます。私のエラーは、私のセッターには「)」が必要だと言いますが、それは別の問題であるように感じます。私はどのようにこれを行うためのすべてのメモを取得していないので、誰かが私が行方不明または修正する必要があることを教えてもらえますか?ありがとう!
#include<iostream>
using namespace std;
class Version
{
private:
int major, minor, service_pack;
public:
Version();
Version& setMajor(int maj);
Version& setMinor(int min);
Version& setService_pack(int sp);
int getMinor(Version *const this);
int getMajor(Version* const this);
int getService_pack(Version* const this);
};
Version::Version()
{
major = 0;
minor = 0;
service_pack = 0;
}
Version& Version::setMinor(int min)
{
minor = min;
return *this;
}
Version& Version::setMinor(int maj)
{
major = maj;
return *this;
}
Version& Version::setMinor(int sp)
{
service_pack = sp;
return *this;
}
int Version::getMinor(Version* const this)
{
return this->minor;
(*this).minor;
}
int Version::getMajor(Version* const this)
{
return this->major;
(*this).major;
}
int Version::getService_pack(Version* const this)
{
return this->service_pack;
(*this).service_pack;
}
int main()
{
int minor, major, service_pack;
Version a;
cout << "Enter minor, major, and service pack: " << endl;
cin >> minor, major, service_pack;
a.setMinor(minor).setMajor(major).setService_pack(service_pack);
cout << "Major: " << a.getMajor() << "Minor: "<< a.getMinor << "Service Pack: " << a.getService_pack();
system("PAUSE");
}
ああ良い目!私のgetterのための私のパラメータが正しいかどうかは分かりますか? – TheEWL
いいえ、ゲッターは引数を取らないでください。 – Christophe
@TheEWL私は完成のために私の答えを編集しました – Christophe