什么是helper function

什么是helper function?

Help function(辅助函数)本质上还是一个函数,其实没啥神秘的。就是把另外一个函数中的计算过程(比如取平均数,求方差等等)抽出来,单独写成的函数。你可能会问,为啥要如此多此一举?其实还是为了可读性,这样通过给相应的辅助函数一个清晰易理解的名字,能够帮助你更好的去读程序。还有一个好处是可以方便复用。

 

举个例子:

下面是我在网上找的一个求成绩平均数的一个程序,其中function float Student::getAvg()就是一个helper function(辅助函数)

/*header file for main.cpp*/
#include<iostream>
using namespace std;
 
class Student
{
    int grade[5];
    int id;
public:
    Student();
    void setId(int idin);
    void setGrade(int index, int gradeIn);
    int getId();
    int getGrade(int index);
    float getAvg();
    void printInfo();
};
 
Student::Student()
{
    for(int i=0;i<5;i++)
    {
        grade[i] = 0;
    }
    id = 0;
}
 
void Student::setId(int idin)
{
    id = idin;
}
void Student::setGrade(int index, int gradeIn)
{
    grade[index] = gradeIn;
}
int  Student::getId()
{
    return id;
}
int  Student::getGrade(int index)
{
    return grade[index];
}
float  Student::getAvg()
{
    int sum = 0;
    for(int i=0; i<5;i++)
        sum = sum + grade[i];
    return sum/5.0;
}
void Student::printInfo()
{
    cout<<id<<"\n";
    for(int i=0; i<5;i++)
        cout<<grade[i]<<" ";
}
————————————————
版权声明:本文为CSDN博主「Tom Boom」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sw3300255/article/details/84840076
#include "main.hpp"
 
int main()
{
    Student s1;
    s1.setId(3232);
    s1.setGrade(0,85);
    s1.setGrade(1, 80);
    s1.setGrade(2,98);
    s1.setGrade(3,65);
    s1.setGrade(4,90);
    s1.printInfo();
    cout<<"avg = "<<s1.getAvg();
    return 0;

————————————————
版权声明:本文为CSDN博主「Tom Boom」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sw3300255/article/details/84840076

 

posted @ 2021-04-12 15:45  青山牧云人  阅读(2865)  评论(0编辑  收藏  举报