例えば下の文で、

#include<iostream>
#include<cmath>

float Myabs(float x);

int main(){
    float a=2.5;
    std::cout<<Myabs(a)<<std::abs(a);
    a=-5.25;
    std::cout<<Myabs(a)<<std::abs(a);
    return 0;
}

float Myabs(float x){return x>0?x:-x;}

この文を下の2つの例のように変更すると
例1

#include<iostream>

float Myabs(float x);

int main(){
    float a=2.5;
    std::cout<<Myabs(a)<<std::abs(a);
    a=-5.25;
    std::cout<<Myabs(a)<<std::abs(a);
    return 0;
}
#include<cmath>
float Myabs(float x){return x>0?x:-x;}

例2

#include<iostream>
#include<cmath>

int main(){
    float a=2.5;
    std::cout<<Myabs(a)<<std::abs(a);
    a=-5.25;
    std::cout<<Myabs(a)<<std::abs(a);
    return 0;
}
float Myabs(float x);
float Myabs(float x){return x>0?x:-x;}

どちらもエラーが出ます。宣言が無いために出るエラーとインクルードが無いために出るエラーです。
これは、コンパイラから見てinclude文と宣言が同じ動作をすることを示していますか?