我在这里包括一个用C编写的简单程序,我试图使用参数化构造函数.我的想法是动态地实例化该类并捕获所需的任务.
但每当我运行程序并输入任务1时,它只会打印两行(即输入Name.Enter Tel.No.).它实际上应该打印“输入名称”.然后输入名称,然后再次打印“输入Tel.No.”.
我该如何解决这个问题?我必须在创建对象时动态使用参数化构造函数.
#include
#include
#include
#include
using namespace std;
class myClass
{
string fullname,telephone;
public:
myClass(int taskType = 2)
{
if(taskType==1)
{
add_record();
}
else if(taskType==2)
{
//view_records();
}
else if(taskType==3)
{
//delete_record();
}else{
// custom_error();
}
}
void add_record()
{
cout << "Enter Name.\n";
getline(cin, fullname);
cout << "Enter Tel. No.\n";
getline(cin, telephone);
}
};
main (){
int myTask;
cout << "Enter a Task-Type. \n"
<< "1 = Add Record,"
<< "2 = View Records,"
<< "3 = Delete a Record\n\n";
cin >> myTask;
myClass myObject(myTask);
getch();
}