Login | Register   
RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.

Tip of the Day
Home » Tip Bank » C++
Language: C++
Expertise: Beginner
Aug 19, 2002



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Executing a Member Function After main() Terminates

You can execute any member function or any other execution after a termination of main() function by using "#pragma exit."

Here's the syntax:
	#pragma exit <function_name /*with no parenthesis*/> [priority] //without

Now, here's an example:
class CL{
public:	//A constructor
	CL(){	cout << "\nThe object is creating"; }
	void obj_func() { cout << "\nThis is a _
function of object"; }
void func_after_main ();
#pragma exit func_after_main 64   // setting a _
function to execute after
the main termination
void main ()
{  cout << "\nThis is main() ";
void func_after_main() {
	cout << "\nThis is func_after_main() ";
	CL obj1;	//creating an object, and _
calling its constructor
	obj1.obj_func();	//calling an _
object's member function

In defining such functions, the functions should not carry any attribute nor return any value. They should be defined before the #pragma statement.

Priority is optional. It is ranging from 64 to 100 (recomended).
  • 0—Highest priority used by C Libraries.
  • 63—Lowest priority used by C Libraries.
  • 64—First available Priority.
  • 100—Default priority.
  • 255—Lowest priority.
Jawad Akhtar
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date