所以我正在從我的班級教科書的例子從C++開始:早期對象,我遇到了一個問題。我被指示創建一個程序,該程序讀入一些數據並在最後打印它,總共2個實例。當第二個實例(md2)運行時,它不會讓我在第一個字段中輸入任何內容。這實在讓我感到困擾,而且我無法弄清楚。提前致謝!對象的第二個實例不能正常工作
#include <iostream>
using namespace std;
class MovieData
{
private:
string movieTitle;
string movieDirector;
int movieYear;
int movieRunTime;
public:
MovieData()
{
GetTitle();
GetDirector();
GetYear();
GetRunTime();
}
void GetTitle()
{
cout << "Specify A Title\n";
getline(cin, movieTitle);
cout << endl;
}
void GetDirector()
{
cout << "Specify A Director" << endl;
getline(cin, movieDirector);
cout << endl;
}
void GetYear()
{
cout << "Specify A Year" << endl;
cin >> movieYear;
cout << endl;
}
void GetRunTime()
{
cout << "Specify A Duration In Minutes" << endl;
cin >> movieRunTime;
cout << endl;
}
void SetTitle()
{
cout << "R" << movieTitle << endl;
}
void SetDirector()
{
cout << "R" << movieDirector << endl;
}
void SetYear()
{
cout << "R" << movieYear << endl;
}
void SetRunTime()
{
cout << "R" << movieRunTime << endl;
}
};
void PrintData(MovieData md);
int main() {
MovieData md1;
PrintData(md1);
MovieData md2;
PrintData(md2);
}
void PrintData(MovieData md)
{
md.SetTitle();
md.SetDirector();
md.SetYear();
md.SetRunTime();
cout << endl;
}
邊注:不,你需要實例化對象? –
我不關注。 – karite36
@BlackFrog在Java或C#中,每個對象都是一個指針,所以你需要用'new'命令初始化'MovieData'。 (例如'MovieData md1 = new MovieData()'。這個例子是C++。在C++中,簡單地聲明一個類的實例將會調用構造函數 –