C++ Primer 第5版--练习9.45 & 9.46

来源:互联网 发布:cinema 4d r18 mac 编辑:程序博客网 时间:2024/06/04 19:09

练习9.45:编写一个函数,接受一个表示名字的string参数和两个分别表示前缀(如“Mr.”或“Ms.”)和后缀(如“Jr.”或“III”)的字符串。使用迭代器及insert和append函数将前缀和后缀添加到给定的名字中,将生成的新string返回。

#include <iostream>#include <string>using std::cout;using std::endl;using std::string;string add(string name, const string &prefix, const string &postfix){name.insert(name.begin(), prefix.begin(), prefix.end());name.append(postfix);return name;}int main(){string name("Julina");cout << "原名为:" << name << endl;name = add(name, "Ms.", " III");cout << "添加前后缀后为:" << name << endl;return 0;}

练习9.46:重写上一题的函数,这次使用位置和长度来管理string,并只使用insert。

#include <iostream>#include <string>using std::cout;using std::endl;using std::string;string add(string name, const string &prefix, const string &postfix){name.insert(0, prefix);name.insert(name.size(), postfix);return name;}int main(){string name("Julina");cout << "原名为:" << name << endl;name = add(name, "Ms.", " III");cout << "添加前后缀后为:" << name << endl;return 0;}



0 0
原创粉丝点击