私は最初の別のクラスファイルに取り組んでいます。私は変更したくないドライバプログラムを与えられました。私はドライバから実行されるクラスファイルを作成します。C++でオブジェクトを作成して、クラスに引数を渡すにはどうすればよいですか?
#include <iostream>
#include <iomanip>
using namespace std;
#include "Question.h"
int main()
{
string q2Answers [] = {"China","India","Mexico","Australia"};
Question q2("Which country is home to the Kangaroo?",q2Answers,'D');
q2.display();
cout << endl;
}
上記の単純化されたドライバは、引数を介して引数をクラスに渡しているようです。私のクラスヘッダファイルは次のように構築されています。
#ifndef QUESTION_H
#define QUESTION_H
#include <string>
using namespace std;
class Question
{
public:
void setStem(string newStem);
void setAnswers(string newAnswers[]);
void setKey(char newKey);
void display();
string getStem();
string getAnswer(int index);
char getKey();
private:
string stem;
string answers[4];
char key;
};
#endif // QUESTION_H
オブジェクトに渡された引数を使用してクラス内の関数を実行するにはどうすればよいですか?
Question q2("Which country is home to the Kangaroo?",q2Answers,'D');
は、これらの引数を関数にプッシュする方法はありません。これについての洞察は非常に高く評価されます。
はあなたが好き、右のヘッダファイルにそれを作ることができ、次のいずれか私が正しくあなたを理解している場合、あなたはコンストラクタを作る方法について
http://www.geeksforgeeks.org/constructors-c/ – OldProgrammer
これは、いわゆる「ドライバプログラム」の正確な表現であれば、[あなたに与えた人は誰でもC++で無能です](https:///stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice)、よりよいC++教師を見つけるべきです。 –
'' namespace std'を使っていることがわからない場合は、C++のより良い把握が得られるまでそれを保持することをお勧めします。それが大きくて重大なプロジェクトでない限り。 –