//a.h
extern int x1;
static int x2;
int x3;
static const int x4;
class A {
public:
static const int x5 = 10;
};
a.h
में const` कई .cpp
फ़ाइलों से शामिल किया जाएगा, मेरे सवाल यह है:`static`,` extern`, `हेडर फाइल
1. x1
सिर्फ एक घोषणा है, हैं ना? तो इसकी परिभाषा उन .cpp
फ़ाइलों में से एक में की जानी चाहिए, है ना?
2. x2
एक परिभाषा है, है ना? मुझे लगता था कि static int
भी extern int
की तरह एक घोषणा है, लेकिन मैं गलत था। x2
केवल a.h
में दिखाई देगा?
3. , कई बार परिभाषित किया जाएगा यदि a.h
कई .cpp
फ़ाइलों में शामिल किया जाता है तो संकलन त्रुटि में परिणाम होगा, है ना?
4. x4
एक परिभाषा है, है ना?
5. कक्षा ए में, x5
एक घोषणा है, हां। लेकिन x4
के बारे में क्या?
आइटम 5 में प्रश्न से आपका क्या मतलब है? –
@ डेविड हेफरन, मेरा मतलब है कि 'x5' एक घोषणा क्यों है लेकिन' x4'? – Alcott