C++ 我如何将其读入条目fname?
我试图将fname lname和电话号码的用户条目读入私有类中相应命名的函数中。因为我不知道如何直接从输入流cin>>get_fname读取它们;我不知道该如何定义如何将它们读入适当的位置 我真的不知道该怎么办C++ 我如何将其读入条目fname?,c++,C++,我试图将fname lname和电话号码的用户条目读入私有类中相应命名的函数中。因为我不知道如何直接从输入流cin>>get_fname读取它们;我不知道该如何定义如何将它们读入适当的位置 我真的不知道该怎么办 using namespace std; string getResponse() { string response; cout << endl << "What would you like to do?" << endl;
using namespace std;
string getResponse()
{
string response;
cout << endl << "What would you like to do?" << endl;
cout << "Add and entry (a),";
cout << "Sort list (s)," << endl;
cout << "Print the list (p),";
cout << "Find a name (f)," << endl;
cout << "Quit (q)?";
cin >> response;
return response;
}
void printEntry(Entry entry)
{
cout << entry.get_fname() << " " << entry.get_lname() << " " << entry.get_number() << endl;
}
void findName(const list<Entry>& data, string name)
{
for (list<Entry>::const_iterator iter = data.begin(); iter != data.end(); iter++){
if (name == iter->get_lname()){
printEntry(*iter);
}
}
}
Entry readEntry()
{
Entry entry;
cout << "Please enter a first name: ";
string fname;
cin >> fname;
entry.get_fname(fname);
cout << "Please enter a last name: ";
string lname;
cin >> lname;
entry.get_lname(lname);
cout << "Please enter a phone number: ";
string number;
cin >> number;
entry.get_number(number);
return entry;
}
class Entry {
private:
std::string fname;
std::string lname;
std::string number;
public:
std::string get_fname() const;
std::string get_lname() const;
std::string get_number() const;
};
#endif // ENTRY_H_INCLUDED
#include "entry.h"
std::string Entry::get_fname() const {
return fname;
}
std::string Entry::get_lname() const {
return lname;
}
std::string Entry::get_number() const {
return number;
}
你也可以
将类条目中的变量公开,并将用户输入加载到它们中,这样就不需要再使用getter了
您可以使用get_*variable*函数返回我假设的已设置的变量,因此这与实际设置这些变量无关。我可以推荐您选择吗?您好,欢迎使用。到底是什么问题?您的代码看起来很好;声明get_fname是一个常量函数。您不能使用它来更改对象的状态,只能使用它来查看。你必须找到另一条路。也许readEntry可以是一个公共静态的Entry方法,也可以是一个friend函数?
Entry readEntry()
{
Entry entry;
cout << "Please enter a first name: ";
cin >> entry.fname;
cout << "Please enter a last name: ";
cin >> entry.lname;
cout << "Please enter a phone number: ";
cin >> entry.number;
return entry;
}
``````
class Entry {
public:
std::string fname;
std::string lname;
std::string number;
};
Entry readEntry()
{
Entry entry;
cout << "Please enter a first name: ";
string fname;
cin >> fname;
entry.set_fname(fname);
cout << "Please enter a last name: ";
string lname;
cin >> entry.lname;
entry.set_lname(lname);
cout << "Please enter a phone number: ";
string number;
cin >> entry.number;
entry.set_number(number);
return entry;
}
``````
class Entry {
public:
std::string fname;
std::string lname;
std::string number;
void set_fname(std::string _fname) { fname = _fname; };
void set_lname(std::string _lname) { lname = _lname; };
void set_number(std::string _number) { number = _number; };
private:
std::string get_fname() const;
std::string get_lname() const;
std::string get_number() const;
};