Quick links: HR Interview Que. Code Snippets C Programs C++ Programs Java Programs Scala Solved Examples PHP Examples

Home » C++ programming language

Defining member function outside of the class in C++

A member function can be defined outside of the class too; here we will learn how to define a class member function inside and outside of the class?

Defining member function inside of the class definition (member function definition with declaration)

Consider the following syntax

class class_name
{
	private:
		declarations;
	public:
		function_declaration(parameters)
		{
			function_body;
		}
};

Sponsored Links

Here is the example

#include <iostream>
using namespace std;

class Example
{
	private:
		int val;
	public:
		//function to assign value
		void init_val(int v)
		{
			val=v;
		}
		//function to print value
		void print_val()
		{
			cout<<"val: "<<val<<endl;
		}
};

int main()
{
	//create object
	Example Ex;
	Ex.init_val(100);
	Ex.print_val();
	
	return 0;
}

Output

val: 100

In the above example, public member functions init_val() and print_val() are defined inside the class definition.

Defining member function outside of the class definition

A public member function can also be defined outside of the class with a special type of operator known as Scope Resolution Operator (SRO); SRO represents by :: (double colon)

Let’s consider the syntax

return_type class_name::function_name(parameters)
{
	function_body;
}

Here is the example

#include <iostream>
using namespace std;

class Example
{
	private:
		int val;
	public:
		//function declarations
		void init_val(int v);
		void print_val();
};
//function definitions
void Example::init_val(int v)
{
	val=v;
}

void Example::print_val()
{
	cout<<"val: "<<val<<endl;
}
int main()
{
	//create object
	Example Ex;
	Ex.init_val(100);
	Ex.print_val();
	
	return 0;
}

Output

val: 100

Keywords (like Linux, Java, Oracle etc) used in this website are the trademarks of their respective owners/company. This website is not affiliated to any company. The tutorials are designed by includehelp Team with the help of well known books and other online resources. These Tutorials are free for all, for learning purposes only. Enjoy learning:)
Copyright © 2015 - 2016. All Rights Reserved.