#include <iostream>
#include <string>
#include <iomanip>
usingnamespace std;
class ExamQuestion
{
public:
/**
* Present, i.e. display a question to the user and get user's response.
*/
void presentQuestion();
/** Grade the question and return the points earned.
* \return The points earned.
*/
virtualint getPoints() = 0;
/**
* Print results of the graded question
*/
virtualvoid printGraded();
/** Initializing constructor */
ExamQuestion(int iQuestionNumber, string sQuestion, int iPointsWorth);
/** Access m_PointsWorth
* \return The current value of m_PointsWorth
*/
int getPointsWorth() { return m_PointsWorth; }
/** Set m_PointsWorth
* \param val New value to set
*/
void setPointsWorth(int val) { m_PointsWorth = val; }
/** Access m_Question
* \return The current value of m_Question
*/
string getQuestion() { return m_Question; }
/** Set m_Question
* \param val New value to set
*/
void setQuestion(string val) { m_Question = val; }
/** Access m_QuestionNumber
* \return The current value of m_QuestionNumber
*/
int getQuestionNumber() { return m_QuestionNumber; }
/** Set m_QuestionNumber
* \param val New value to set
*/
void setQuestionNumber(int val) { m_QuestionNumber = val; }
protected:
int m_PointsWorth; //!< Member variable "m_PointsWorth"
int m_QuestionNumber; //!< Member variable "m_QuestionNumber"
string m_Question; //!< Member variable "m_Question"
};
#endif // EXAMQUESTION_H