संभव डुप्लिकेट:
Default constructor with empty bracketsनिर्माता मुद्दा
इस कोड है कि मैं पर काम किया है और मुझे समझ नहीं आता क्या यह (निर्माता पैकेज obj2 पर हो रहा है); उत्पादन पर प्रदर्शित किए जाते हैं केवल मूल्यों 4 (पैकेज obj1 (4)) और 2 (पैकेज obj3 (2))
#include <iostream>
using namespace std;
class Package
{
private:
int value;
public:
Package()
{
cout<<"constructor #1"<<endl;
value = 7; cout << value << endl;
}
Package(int v)
{
cout<<"constructor #2"<<endl;
value = v; cout << value << endl;
}
~Package()
{
cout<<"destructor"<<endl;
cout << value << endl;
}
};
int main()
{
Package obj1(4);
Package obj2();
Package obj3(2);
}
मैंने कारण दिया, आपने तय किया! –
डिफ़ॉल्ट नियंत्रक को कॉल करते समय '()' की आवश्यकता नहीं है –
@EmmanuelN यह सिर्फ "आवश्यकता नहीं है", यह "उपयोग नहीं करना चाहिए" है। – hyde