如何调用数组中的值并更改数组中的值?

时间:2017-09-27 02:57:08

标签: c++

class DataStorage{
                        // 0 1 2 3 4        5 6 7 8
string Data[20][4]={{"Wee","50","1","First"},{"Wee","22","2","First"},
                        // 9 10 11 12       13 14 15 16
                    {"Jason","26","3","First"},{"Krappa","12","4","First"},
                        // 17 18 19 20      21 22 23 24
                    {" "," ","5","First"},{" "," ","6","Economy"},
                        //25 26 27 28       29 30 31 32
                    {"Kappa","15","7","Economy"},{"Eraser","17","8","Economy"},
                        //33 34 35 36       37 38 39 40
                    {" "," ","9","Economy"},{"Morty"," ","10","Economy"},
                        //41 42 43 44       45 46 47 48
                    {"Rick"," ","11","Economy"},{"Amanda","10","12","Economy"},
                        //49 50 51 52       53 54 55 56
                    {"Lee","","13","Economy"},{"MingLee"," ","14","Economy"},
                        //57 58 59 60       61 62 63 64
                    {"Beauty"," ","15","Economy"},{"S4head"," ","16","Economy"},
                        //65 66 67 68       69 70 71 72
                    {"Ivan"," ","17","Economy"},{"Dex"," ","18","Economy"},
                        //73 74 75 76       77 78 79 80
                    {"Chua"," ","19","Economy"},{"Haha"," ","20","Economy"},};
};
int main(){

}

如何调用数组中的值并更改数组中的值?我是否需要创建一些函数来从输入中获取值并将其传递给类中的变量并将其设置为我的数组?

2 个答案:

答案 0 :(得分:0)

我不确定当你说How do I call the value in array and change the value in array?时你问的是什么,但我认为你在问如何更改数组元素的值。

要修改数组元素,请将数组索引分配给您将数组元素更改为;但是,请记住C ++数组是0-index arrays,这意味着当您开始将其元素计数为0.例如,以下代码修改索引5处的元素。Live preview

#include <iostream>

int array[10] = {1, 5, 33, 7, -23, 2, 8, 54, 19, 2};

int main() {
  std::cout << array[5] << std::endl;

  array[5] = 100; // Set the value of the element at index 5 to 100

  std::cout << array[5] << std::endl;

  return 0;
}

答案 1 :(得分:0)

如果您希望将Data作为DataStorage的类成员,则必须在成员初始化列表中初始化它。我还强烈建议对裸阵列使用抽象,例如std::array。这允许使用带at()函数的边界检查访问。然后,您可以访问Data并更改其内容。

#include <array>
#include <iostream>
#include <string>

class DataStorage
{
public:
    std::array<std::array<std::string,4>,20> Data;
    DataStorage() : Data({{
                {{"Wee","50","1","First"}},
                {{"Wee","22","2","First"}},
                {{"Jason","26","3","First"}},
                {{"Krappa","12","4","First"}},
                {{" "," ","5","First"}},
                {{" "," ","6","Economy"}},
                {{"Kappa","15","7","Economy"}},
                {{"Eraser","17","8","Economy"}},
                {{" "," ","9","Economy"}},
                {{"Morty"," ","10","Economy"}},
                {{"Rick"," ","11","Economy"}},
                {{"Amanda","10","12","Economy"}},
                {{"Lee","","13","Economy"}},
                {{"MingLee"," ","14","Economy"}},
                {{"Beauty"," ","15","Economy"}},
                {{"S4head"," ","16","Economy"}},
                {{"Ivan"," ","17","Economy"}},
                {{"Dex"," ","18","Economy"}},
                {{"Chua"," ","19","Economy"}},
                {{"Haha"," ","20","Economy"}}
            }}) {}
};

int main()
{
    DataStorage d;
    std::cout << d.Data.at(10).at(2) << '\n'; // prints 11
    d.Data.at(10).at(2) = "1729";
    std::cout << d.Data.at(10).at(2) << '\n'; // prints 1729
}