在C ++中将两个字符串组合成一个变量

时间:2014-02-12 03:27:08

标签: c++

我正在编写一个简单程序的过程,该程序将给定的学生姓名分配给所请求的任何间隔的组。目前,我专注于读取学生姓名的功能。 这是代码:

class student
{
public:
    string nameFirst;
    string nameLast;
};

student typeName()
{
    student foo;
    cout << "Type in a student's first name: ";
    cin >> foo.nameFirst;
    cout << "Type in that student's last name: ";
    cin >> foo.nameLast;
    cout << "\n";
    return foo;
}

由于我无法使用getline(),我不得不创建两个字符串,每个字符串对应学生的全名。如何重写此代码以允许它在不创建两个变量且不使用getline()的情况下获取全名?或者,如果不可能,我怎样才能使用类中的方法将两个字符串合并为一个?

1 个答案:

答案 0 :(得分:3)

你可以使用

cin >> foo.nameFirst >> foo.nameLast;

cin >>将在空格处解析停靠点,因此您只需在James Bond之类的空格中输入一行中的全名。

将两个字符串合并为一个:

string fullName = foo.nameFirst + " " + foo.nameLast;