Introduction
C++ में Class केवल data members को store करने के लिए ही नहीं होती, बल्कि उसके अंदर functions भी define किए जाते हैं जिन्हें member functions कहा जाता है। ये functions class के data पर कार्य करते हैं और object के behavior को define करते हैं।
Member functions को define करने के दो तरीके होते हैं — एक class के अंदर (inside class) और दूसरा class के बाहर (outside class)। दोनों तरीकों का उपयोग program की आवश्यकता और complexity के अनुसार किया जाता है।
Definition
Member Functions वे functions होते हैं जो class के अंदर declare किए जाते हैं और class के data members पर कार्य करते हैं। इन्हें class के अंदर या बाहर define किया जा सकता है।
1. Member Function Inside Class
जब function को class के अंदर ही define किया जाता है, तो उसे inside class definition कहा जाता है।
इस स्थिति में function automatically inline माना जाता है।
Syntax
class ClassName {
public:
void functionName() {
// function body
}
};
Example (Inside Class)
#include <iostream>
using namespace std;
class Student {
public:
string name;
void display() {
cout << "Name: " << name;
}
};
int main() {
Student s1;
s1.name = "Rahul";
s1.display();
return 0;
}
Output:
Name: Rahul
2. Member Function Outside Class
जब function को class के अंदर केवल declare किया जाता है और उसकी definition class के बाहर दी जाती है, तो उसे outside class definition कहा जाता है।
इसमें scope resolution operator :: का उपयोग किया जाता है।
Syntax
class ClassName {
public:
void functionName(); // declaration
};
void ClassName::functionName() {
// function body
}
Example (Outside Class)
#include <iostream>
using namespace std;
class Student {
public:
string name;
void display(); // declaration
};
// function definition outside class
void Student::display() {
cout << "Name: " << name;
}
int main() {
Student s1;
s1.name = "Amit";
s1.display();
return 0;
}
Output:
Name: Amit
Inside vs Outside Definition में अंतर
| आधार | Inside Class | Outside Class |
|---|---|---|
| Definition | Class के अंदर | Class के बाहर |
| Inline Nature | Inline होता है | Inline नहीं होता |
| Code Size | छोटा programs | बड़े programs |
| Readability | कम (complex में) | अधिक |
कब कौन सा तरीका उपयोग करें?
- छोटे और simple programs → Inside class
- बड़े और complex programs → Outside class
निष्कर्ष
Member functions को class के अंदर या बाहर दोनों तरीकों से define किया जा सकता है। Inside definition simple और छोटे programs के लिए उपयुक्त होती है, जबकि outside definition बड़े और structured programs के लिए अधिक उपयोगी होती है।