The code you have given has many compile time error but conceptually it will work I have corrected some lines like cout<< its in main program < a.main(); it will not work because main the member function is void type it will return nothing while << director needs something.so change void main() to int main() and return 0 at end.exit() function will not work in cout because it returns void type.
Also add some lines like printing address of main function It is possible to take address of main function which is denied by Siva Nookala. It is also possible to call function main in a program but this will call recursion.
When any excutable come into run state means process invoke the OS doesn't actually call the entry-point function
main() which you write. Instead it calls a C/C++ run-time startup function which is added by Linker during linking time.
CRT Startup function initializes the CRT library so that you can call functions such as malloc free _beginthread _endthread etc.
It also ensures that any global and static C++ objects that you have declared are constructed properly before entry point
function main()'s code come into executes.
Main() function is nothing but callback thread function for primary thread which created when first time process created by OS
and actually this primary thread determines the lifespan of process. Process is nothing but a Kernel object which manage all
other resources like memory other kernel object reference and other devices like input/output.
HOPING THIS WILL CLEAR THE SEE FOLLOWING CORRECT CODE (write me : mohit.gonduley@gmail.com)
**************************************************************************************************
#include stdio.h
#include stdlib.h
#include iostream
using namespace std;
class abc
{
public :
int main()
{
cout<< Its main function <<endl;
return 0;
}
};
int main(int c char **v)
{
abc a;
printf( \n Address of main Function u \n main);
if(c<1)
{ cout<< Error can not accept it ; }
cout<< its in main program <<a.main()<<endl;
return 0;
}
**************************************************************************************************