तो मैं कक्षाओं के बारे में सीख रहा था और मैंने जो कुछ पाया वह मुझ पर काफी अजीब था।क्या कक्षा कार्य/चर का उपयोग करने से पहले घोषित किया जाना चाहिए?
class Nebla
{
public:
int test()
{
printout();
return x;
}
void printout()
{
printout2();
}
private:
int x,y;
void printout2()
{
cout<<"Testing my class";
}
};
मैंने पाया कि एक कक्षा में मैं कार्यों का उपयोग कर सकते हैं इससे पहले कि मैं उन्हें घोषित (उनमें प्रोटोटाइप)
आप देख सकते हैं मैं decleration से पहले
printout()
,printout2()
इस्तेमाल किया।
और मैं उन्हें
घोषित करने से पहले भी चर का उपयोग कर सकते हैं आप देख सकते हैं मैं
return x
किया; एक्स घोषित करने से पहले।
मैं घोषणा से पहले कक्षाओं में कार्यों और चर का उपयोग क्यों कर सकता हूं लेकिन कक्षा के बाहर यदि मैं ऐसा करता हूं, तो मुझे कोई त्रुटि मिलती है?
धन्यवाद
मैंने इस के लिए एक विशिष्ट जवाब नहीं देखा है, लेकिन मैंने अनुमान लगाया है कि यह कक्षा में दो पास करने वाले कंपाइलर के कारण है। – chris
@chris आप क्या मतलब है कि कंपाइलर –
पर दो पास कर रहा है [यह टिप्पणी] (http://stackoverflow.com/questions/2632601/why-are-forward-declarations-necessary#comment2646159_2632601) मजबूती से प्रबल होता है वह अनुमान है। सवाल थोड़ा सा अवधारणा से संबंधित है। – chris