पर मान द्वारा तर्क के रूप में ऑब्जेक्ट पास करते हैं तो मैं प्रतिलिपि बनाता हूं, जब मैं कुछ सी ++ प्रोग्राम कर रहा हूं, तो मुझे संदेह है कि यही कारण है कि जब मैं पास करता हूं तो कॉपी कन्स्ट्रक्टर को कॉल किया जाता है किसी ऑब्जेक्ट को फ़ंक्शन के मान के आधार पर तर्क के रूप में। कृपया मेरा नीचे कोड देखें कि मैं वर्ग के ऑब्जेक्ट को फ़ंक्शन डिस्प्ले() पर मान के आधार पर तर्क के रूप में पास कर रहा हूं लेकिन यह कॉपी कन्स्ट्रक्टर को कॉल कर रहा है और फिर नियंत्रण डिस्प्ले() फ़ंक्शन को मार रहा है लेकिन मुझे समझ में आता है कि यह क्यों मदद करता है।जब हम ऑब्जेक्ट को किसी विधि
#include "stdafx.h"
#include <iostream>
using namespace std;
class ClassA
{
private:
int a, b;
public:
ClassA()
{
a = 10, b = 20;
}
ClassA(ClassA &obj)
{
cout << "copy constructor called" << endl;
a = obj.a;
b = obj.b;
}
};
void display(ClassA obj)
{
cout << "Hello World" << endl;
}
int main()
{
ClassA obj;
display(obj);
return 0;
}