我在这里包括一个用 C++ 编写的简单程序,我正在尝试使用参数化构造函数。我的想法是动态地实例化类并捕获所需的任务。但每当我运行程序并输入任务 1 时,它只会打印两行(即 Enter Name.Enter Tel.No.)。它实际上应该打印“输入名称”。然后输入姓名,然后再次打印“输入电话号码”。我该如何解决这个问题?我必须在创建对象时动态使用参数化构造函数。
#include <iostream>
#include <conio.h>
#include <fstream>
#include <string>
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();
}