所以基本上我只是在我的一个类方法(函数)中使用cout / cin用简单的代码编写了我的程序。我知道这很糟糕,不应该这样做,我应该用它来切换它们?
例如,现在我有人类。它有一些字段(变量),如性别,身高,年龄。
我有一个名为getInfo()的方法,它基本上是很多
cout << "Whats your age?" << endl;
cin >> age;
等等。我应该把它们改成什么?我应该使用像
这样的东西吗?ostream& operator<<(ostream &o, const Human &s)
istream& operator>>(istream &i, Human &s)
我写下这些函数,但它们基本上只是用于toString?
我该怎么用toString? (需要toString - 我的项目任务的任务)。
答案 0 :(得分:2)
您可以对输入和输出流进行getInfo
通用,例如:
void Human::getInfo(std::istream& input, std::ostream& output) {
output << "What's your age?" << std::endl;
input >> age;
// etc.
}
toString
通常会返回对象的字符串表示形式,因此它看起来像这样:
std::string Human::toString() const {
std::string string;
string += "Human(\n";
string += " age: " + std::to_string(age) + "\n";
// etc.
string += ")";
return string;
}