将字符串数组存储在类成员函数中并返回它

时间:2015-01-20 02:00:46

标签: c++ arrays string class

您好,如果有人花时间编写一个简单的方法将字符串数组存储在类成员函数中并在主函数中返回该值,我将不胜感激。

这就是我所拥有的。我想在这个数组中存储4个不同的作者,然后再打印出来。

  void setauthor(string a[4])
    {
        string authors[4] = a[4];
    }

感谢

3 个答案:

答案 0 :(得分:0)

你不能在这样的构造上复制数组,但你可以在以后执行:

void setauthor(string a[4])
{
    string authors[4];
    std::copy(a, a+4, authors);
}

您需要在顶部#include <algorithm>

答案 1 :(得分:0)

只需使用具有复制语义的std::array<std::string, 4>

void setauthor(std::array<std::string, 4> a)
{
    std::array<std::string, 4> authors = a;
}

您需要在顶部#include <array>

您甚至可以声明一个别名,以便更容易编写:

using four_strings = std::array<std::string, 4>;

void setauthor(four_strings a)
{
    four_strings authors = a;
}

答案 2 :(得分:0)

为什么不使用简单的for循环? 虽然您需要一个额外的参数,但如果作者编号是固定的,那么这应该是最简单的。

void setauthor(string a[4],int number)
{
    string author[4];
    for(int i=0;i<number;i++)
    {
        author[i]= a[i];
        cout<<author[i];
    }
}