具有用户输入 (C++) 的参数化构造函数
Parameterized Constructor with user input (C++)
我正在编写一个程序,要求用户开发两种类型的问题:对/错或多项选择。我已经编写了类 QuestionTF 和 QuestionMC - 这两个类派生自它们的基类 Question。我已经为 TF 和 MC 实现了参数:
QuestionTF(string theQuestion, int pointValue, string theAnswer)
: Question(theQuestion, pointValue)
和
QuestionMC(string theQuestion, int pointValue, string theAnswer)
: Question(theQuestion, pointValue)
当我在 main 中调用构造函数时 - 它看起来像问题TF(字符串、值、字符串)。我将如何对构造函数参数进行编码,以便用户能够提出问题、输入值并选择他们的答案(所有这些都将在 if 语句中设置,询问用户他/她想要设置哪种类型的问题)?
例:问题TF("问题", 0, "答案");
这是你的答案。我在构造函数中传递了 6 个参数,其中 3 个用于不正确的选项。同样,您也可以为 true 和 false 实现此逻辑。
class question{
public:
question(string question, int pointValue, string opt1,string opt2, string opt3, string opt4){
int userinput;
cout<<"Your question is :"<<endl<<question;
cout<<endl<<"1. "+opt1<<endl<<"2. "+opt2<<endl<<"3. "+opt3<<endl<<"4. "+opt4<<endl;
cin>>userinput;
if (userinput== pointValue) {
cout<<endl<<"Your answer is correct";
}
else
cout<<endl<<"Your answer is incorrect";
}
question(string question, int pointValue){
int userinput;
cout<<"Your question is :"<<endl<<question<<endl;
cout<<endl<<"1. True"<<endl<<"2. False"<<endl;
cin>>userinput;
if (userinput == pointValue) {
cout<<"Your answer is correct";
}
else
cout<<"Your answer is incorrect";
}
};
int main(){
question q = question("What is Capital of India ?",1,"Delhi","kolkata","Mumbai","Chennai");
}
相关文章:
- C++:使用运算符 = 调用多参数构造函数
- 通过零参数构造函数创建的 glm::mat4 应该包含哪些值?
- 好奇的混合与可变参数构造函数
- 具有默认值的单个参数构造函数是否与默认构造函数相同?
- 为什么我们需要创建一个单参数构造函数来使用临时的无名称对象
- 在可变参数构造函数中初始化常量数组
- C++ 显式多参数构造函数歧义
- 零一参数构造函数
- 可变参数构造函数中的 SFINAE
- 当没有显式关键字与单参数构造函数一起使用时,编译器可以发出警告
- 可变参数类模板和可变参数构造函数
- 确保模板参数类型与其可变参数构造函数的类型匹配
- C++默认参数构造函数与内联初始化优先级
- 如何在 c++ 中将包含复制构造函数的类的参数构造函数称为私有?
- 自动存储中没有无参数构造函数的类对象和异常
- 警告:用两个参数构造函数返回对象时,表达结果未使用
- 如何在C++中调用无参数构造函数
- 在 c++ 中具有多个参数构造函数的模板类存在问题
- 可变参数构造函数优先于用户提供的移动构造函数,除非默认
- 如何从可变参数构造函数参数构造任何对象?