如何返回指向数组的指针以在单独的函数中使用

时间:2016-02-28 07:23:15

标签: c++ arrays pointers

目前正在完成家庭作业,我已经阅读了我的书。我应该创建一个包含数组的类,每个人工作几个小时。所有精致和花花公子,除了当我离开一个函数并返回main时,那个类中已经改变的东西现在又恢复到之前或之前的状态,这就是我的看法。但这不是我现在的问题,我试图在我的gethours函数中创建一个数组,然后将它的指针传递回我的main函数,然后将指针传递给显示功能。但是,它只是不起作用。就像一样。

CODE

#include <iostream>
#include <iomanip>
#include <string>
using namespace std;

class payroll {
public:
    int employeeHours[5];
    string employeeName[5] = { "David", "Steve", "Vanessa", "Groot", "Poyo" };
    double hourlyPay = 12.55;
};

int getHours() {
    payroll payroll;
    int hours[5] = {0,0,0,0,0};
    for (int i = 0; i != 5; i++) {
        cout << "How many hours did " << payroll.employeeName[i] << " work? ";
        cin >> hours[i];
        cout << endl;
    }


    return *hours;
}

int *display(int *hours) {
    payroll payroll;
    for (int i = 0; i != 5; i++) {
        cout << payroll.employeeName[i] << " has " << *(hours + i) << " hours. " << i << endl;
    }
    return 0;
}

int main() {
    payroll payroll;
    int *hours;
    hours = new int[5];
    *hours = getHours();
    for (int i = 0; i != 5; i++) { //Testing, ignore
        cout << payroll.employeeName[i] << " has " << *(hours + i) << " hours. " << i << endl;
    }
    display(hours);
    system("Pause");
}

现在你可以看看这个并且想知道,&#34;为什么如果赋值要求类保存数组,你有另一个数组吗?&#34;好吧,对我来说,我尝试使用类数组,它在同一个函数中运行良好和花花公子,但如前所述,一旦我离开该函数,它就会被重置。所以,我使用一个单独的数组作为测试,直到我能够弄清楚我实际存储变量的方式。

0 个答案:

没有答案