protected Konstruktur - warum?
-
Moinsen,
hab eine kleine Frage zum DocumentViewModell:
Warum werden die Konstrukturen der abgeleiteten CDocument und CView Klasse als protected angelegt und welche Bedeutung hat der Satz "nur aus Serialisierung erzeugen" in diesem Zusammenhang. Vielleicht kann mir jmd ein paar Sätze mehr dazu sagen, in der Hilfe hab ich nichts genaueres gefunden.
class CDVBasisDoc : public CDocument { protected: // Nur aus Serialisierung erzeugen CDVBasisDoc(); DECLARE_DYNCREATE(CDVBasisDoc) .... protected: // Generierte Message-Map-Funktionen protected: //{{AFX_MSG(CDVBasisDoc) //}}AFX_MSG DECLARE_MESSAGE_MAP() };
Schönen Sonntag-Abend
Moritz
-
Dadurch, dass die Konstruktoren proteced sind, kann man diese Objekte nicht einfach per new erzeugen.
Dies soll garantieren, dass die Views und Documents garantiert nur aus dem Framework heraus erzeugt werden und damit auch alle notwendigen anderen Strukturen gefüllt werden, die für das MFCInterKom (nenne ich es mal) notwendig sind.