访问函数和工具函数的使用------SalesPerson实例分析

SalesPerson.h

#ifndef SALESP_H
#define SALESP_H
class SalesPerson{
public:
    static const int monthPerYear = 12;//months in one year
    SalesPerson();//cnostructor
    void getSalesFromUser();//input sales from keyboard
    void setSales(int, double);//set sales for a specific month设置数组中某个月的销售额
    void printAnnualSales();//summerise and print sales
private:
    double totalAnnualSales();//prototype设计原型 for utility function功能函数的设计原型
    double sales[monthPerYear];//12 monthly sales figures
};
#endif

SalesPerson.cpp

//SalesPerson class member-function definitions
#include<iostream>
#include<iomanip>
#include"SalesPerson.h"
using namespace std;
SalesPerson::SalesPerson(){
    for (int i = 0; i < monthPerYear; i++)
        sales[i] = 0.0;
}
void SalesPerson::getSalesFromUser(){
    double salesFigure;
    for (int i = 1; i <=monthPerYear; i++)
    {
        cout << "Enter salary amount for month " << i << ":";
        cin >> salesFigure;
        setSales(i, salesFigure);
    }
}
void SalesPerson::setSales(int month, double amount){
    if (month >= 1 && month <= monthPerYear&&amount>0)
        sales[month - 1] = amount;
    else
        cout << "Invalid month or sales figure" << endl;
}
void SalesPerson::printAnnualSales(){
    cout << setprecision(2) << fixed << "\nThe total annual salaries are: $" << totalAnnualSales() << endl;
}
double SalesPerson::totalAnnualSales(){
    double total = 0.0;
    for (int i = 0; i < monthPerYear; i++)
        total += sales[i];
    return total;
}

测试.cpp

#include"SalesPerson.h"
int main(){
    SalesPerson s;
    s.getSalesFromUser();
    s.printAnnualSales();
}

访问函数和工具函数的使用------SalesPerson实例分析