#include<iostream>
using namespace std;
class C{
private:
int value;
public:
C(){
value = 0;
cout<<"default constructor"<<endl;
}
C(const C& c){
value = c.value;
cout<<"copy constructor"<<endl;
}
};
int main(){
C c1;
C c2 = C();
}
आउटपुट:सी सी के बीच कोई अंतर है; और सी सी = सी() ;?
डिफ़ॉल्ट निर्माता
डिफ़ॉल्ट निर्माता
प्रश्न:,
C c1;
डिफ़ॉल्ट के लिए निर्माता स्पष्ट रूप से कहा जाएगा C c2 = C();
के लिए मैंने सोचा था कि डिफ़ॉल्ट निर्माता हो जाएगा एक अस्थायी obje शुरू करने के लिए बुलाया सीटी, फिर कॉपी कन्स्ट्रक्टर को सी 2 शुरू करने के लिए कॉल किया जाएगा, ऐसा लगता है कि मैं गलत हूं। क्यूं कर?
कीवर्ड: वापसी मूल्य अनुकूलन, प्रतिलिपि प्रतिलिपि बनाएँ। –
क्योंकि संकलक आपके विचार से ज्यादा चालाक है। –
कीवर्ड: * मूल्य प्रारंभिकरण *, * प्रतिलिपि प्रारंभ *। – juanchopanza