请问在C/C++中,函数体相对函数原型属于扩展关系还是重载关系?

如题,想问问各位:函数原型与函数体(头)是被扩展的关系还是被重载的关系?
例如:

void say(string);
void say(string sentence){
  cout << setence << endl;
}

在这个过程中,下面的say是上面的say的重载吗,还是扩展?亦或者说是其它关系?求解答,谢谢了

一个是函数申明,一个是函数实现

函数原型也叫函数声明
之所以有这个东西是因为c语言是按顺序执行的,后面定义的函数前面要调用时,找不到定义,就会报错
所以要在使用之前先声明它,让前面要调用的函数知道后面有这样一个函数
在java、c#等语言里,函数是会自动提升的,不需要再声明