यदि आप इसे कक्षा के सदस्य के रूप में घोषित करते हैं तो आप fstream को तुरंत चालू करने के लिए किस कन्स्ट्रक्टर का उपयोग कर सकते हैं?यदि आप इसे कक्षा के सदस्य के रूप में घोषित करते हैं तो एक fstream को तुरंत कैसे चालू करें?
#include <fstream>
class Foo {
Foo();
// not allowed
std::fstream myFile("\\temp\\foo.txt", fstream::in | fstream::out | fstream::trunc);
// allowed
std::fstream myFile;
}
// constructor
Foo::Foo() {
// what form of myFile("\\temp\\foo.txt", fstream::in | fstream::out | fstream::trunc) can I use here?
myFile = ???
}
आप इस नए सी ++ 2011 सुविधा का उपयोग करने के लिए अनुमति पर विस्तार कर सकते हैं "initializations एक वर्ग के शरीर के अंदर की अनुमति है।"? मैं अलग-अलग प्रभाव के तहत था कि सभी सदस्यों को आसानी से प्रारंभ किया जाता है जब निर्माता का शरीर प्रवेश किया जाता है ... –
@ डाइटमारकुहल- ज़रूर! सी ++ 11 में, आप कक्षा के प्रत्येक फ़ील्ड में डिफ़ॉल्ट मान असाइन कर सकते हैं। यदि वे प्रारंभकर्ता सूची में विशिष्ट कुछ द्वारा ओवरराइड नहीं किए जाते हैं, तो उन्हें प्रारंभ किया गया है जैसे कि वे प्रारंभकर्ता सूची में प्रारंभ किए गए थे। – templatetypedef
कोई आश्चर्य नहीं कि सी ++ इतनी परेशान हो गई! – likejiujitsu