ここには、パラメーター化されたコンストラクターを使用しようとしている C++ で記述された単純なプログラムが含まれています。私の考えは、クラスを動的にインスタンス化し、必要なタスクをキャプチャすることです。しかし、プログラムを実行してタスク 1 を入力するたびに、単に 2 つの行が出力されます (つまり、名前を入力してください。電話番号を入力してください)。実際には「名前を入力してください」と表示されるはずです。次に名前を入力し、もう一度「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();
}