As I already told, #include is
the pre-processor directive, and the compiler will replace the content of
header file before processing the cpptest.cpp. When it does, the
file looks like as shown below (I am skipping the stdafx.h, conio.h):
int Add_Numbers(int, int);
int Mult_Numbers(int, int);
int Add_Numbers(int a, int b)
{
return
(a + b);
}
int Mult_Numbers(int a, int b)
{
return
(a * b);
}
int Add_Numbers(int, int);
int Mult_Numbers(int, int);
int Add_Numbers(int a, int b)
{
return
(a + b);
}
int Mult_Numbers(int a, int b)
{
return
(a * b);
}
int Add_three_numbers(int, int, int);
int Add_three_numbers(int a, int b, int c)
{
return
( Add_Numbers(a, b) * c );
}
int _tmain(int argc, _TCHAR* argv[])
{
return
0;
}
The first set of code in red
color is the content of simplemath.h
The second set of code in Green
Normal font style is also the content of simplemath.h (Note that
extendedmath.h includes the simplemath.h)
The stuff is green bold is actual
content of the extendedmath.h
The final Red bold
text is original content of the CPP file.
Now
once all the #include statements are replaced, the compiler will check &
return an error. Now, I no need to explain that error, as you can understand it
yourself.