我如何在重载函数中包含和重载函数

时间:2014-11-20 22:26:42

标签: c++

这是我的完整代码。如果案例是一(1)但是一些突出显示错误,我试图包括住院病人。无论如何不能解决这个问题,如果不能,请告诉我另一种方法,只要它包括住院病人如果输入一个(1)

void selection(int &);
void processor(int &);
void inPatient(double &, double &, double &, double &);

int main()
{
    int selected, include;
    double numberOfDays, dailyRate, chargesForHospital, hospitalMedicationCharge;

    selection(selected);
    validate(selected, selected);
    processor(selected);

    system("pause");
    return(0);
}

void selection(int & selectedOption)
{
    cout << "\nEnter Selection: ";
    cin >> selectedOption;
}

void processor(int & selectedOption)
{
    switch(selectedOption)
    {
        case 1:
             inPatient(umberOfDays, dailyRate, chargesForHospital, hospitalMedicationCharge);
            break;
        case 2:
            cout << "out-Pat" << endl;
            break;
        default :
            cout << "Nothing Selected" << endl;
            break;
    }
}

void inPatient(double & numberOfDays, double & dailyRate, double & chargesForHospital, double & hospitalMedicationCharge)
{
    cout << "The number of days spent in the hospital: ";
    cin >> numberOfDays;
    cout << "The daily rate: ";
    cin >> dailyRate;
    cout << "Charges for hospital services (lab tests, etc.): ";
    cin >> chargesForHospital;
    cout << "Hospital medication charges: ";
    cin >> hospitalMedicationCharge;
}

1 个答案:

答案 0 :(得分:0)

您发布的代码中存在许多错误,但我会尽力解决您的问题。你试图调用这样的函数:

patric(int & gender, int & age)

但这更像是一个函数声明。要实际调用该函数,您传入参数但省略类型,如下所示:

patric(someGender, someAge);

声明中的int &表示参数是对int类型值的引用,因此您在调用patric时传递的值应为int类型

另外,您说patric已超载。这意味着该函数有多个版本,每个版本都有不同的参数列表。所以,也许上面的那个以及不带任何值的那个 - 也许它们的声明分别是这样的:

void patric(int &gender, int &age);
void patric(void);

鉴于此,如果你想调用第二个版本,你只需要调用它:

patric();

(第二个版本中参数列表中的void表示该函数不带任何参数。函数名前的void表示它不返回任何内容。)< / p>

另请注意,在函数调用之后需要使用分号(;)。