在main函数之外执行函数的情

1、onexit函数

#include "stdafx.h"
#include "iostream"
#include <stdlib.h>
using namespace std;

int func()								//必须为int返回值
{
	cout<<"This is after main function"<<endl;
	system("pause");
	return 0;
}

int main(int argc,char*argv[])
{
	onexit(func);
	cout<<"This is main function"<<endl;
	system("pause");
	return 0;
}


2、全局对象的构建

#include "stdafx.h"
#include "iostream"
#include <stdlib.h>
using namespace std;

class A
{
public:
	A()
	{
		cout<<"This is A's constructor"<<endl;
	}
};

A a;

int main(int argc,char*argv[])
{
	cout<<"This is the main function"<<endl;
	system("pause");
	return 0;
}


3、析构函数的调用

#include "stdafx.h"
#include "iostream"
#include <stdlib.h>
using namespace std;

class A
{
public:
	A()
	{
		cout<<"This is A's constructor"<<endl;
	}
	~A()
	{
		cout<<"This is A's deconstructor"<<endl;
		system("pause");
	}
};

A(a);
int main(int argc,char*argv[])
{
	cout<<"This is the main function"<<endl;
	system("pause");
	return 0;
}


你可能感兴趣的:(main函数外调用函数的情况)