"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > क्या क्लास डेटा सदस्यों को सीधे C++ में प्रारंभ किया जा सकता है?

क्या क्लास डेटा सदस्यों को सीधे C++ में प्रारंभ किया जा सकता है?

2024-11-18 को प्रकाशित
ब्राउज़ करें:833

Can Class Data Members Be Initialized Directly in C  ?

क्या क्लास डेटा सदस्यों को सीधे इनिशियलाइज़ किया जा सकता है?

सी में, क्लास डेटा सदस्यों को डायरेक्ट इनिशियलाइज़ेशन सिंटैक्स का उपयोग करके इनिशियलाइज़ नहीं किया जा सकता है, (), जैसा कि निम्नलिखित उदाहरण में देखा गया है :

#include 

class test {
public:
    void fun() {
        int a(3);
        std::cout 

संकलन त्रुटियों के साथ विफल रहता है:

11    9 [Error] expected identifier before numeric constant
11    9 [Error] expected ',' or '...' before numeric constant

इस अस्पष्ट उदाहरण पर विचार करें:

struct S { int i(x); // इनिशियलाइज़र के साथ डेटा सदस्य या... //... स्थिर पूर्णांक x; int i(y); // सदस्य फ़ंक्शन घोषणा //... टाइपडेफ़ int y; };

मानक एक समाधान प्रस्तावित करता है:

struct S {
    int i(x); // data member with initializer or...
    // ...
    static int x;
    int i(y); // member function declaration
    // ...
    typedef int y;
};

= इनिशियलाइज़र-क्लॉज

{ इनिशियलाइज़र-लिस्ट }

    यह रिज़ॉल्यूशन स्पष्टता सुनिश्चित करता है और उन मामलों में गलतफहमी की संभावना से बचाता है जहां एक घोषणा एक ऑब्जेक्ट और एक फ़ंक्शन दोनों के समान हो सकती है घोषणा।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3