[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: SAX/C++: First interface draft
>>>>> James Clark <jjc@j...>: > One interesting issue is whether to provide a virtual destructor. I > think the safest solution is not to provide a virtual destructor but > instead to declare but not define a private operator delete. This makes > it a compile time error to do: > DTDHandler *p; > // ... > delete p; I'm in the process of making a dispatching DocumentHandler (one that looks at the top level element of the document and maps from this element's tag name to the appropriate DocumentHandler). For this I would like to use a DocumentHandler factory class, and just delete the DocumentHandler when I've finished parsing. But this gets hard to do if the DocumentHandler base class destructor is private. Of course there is an easy workaround by wrapping the DocumentHandler subclass in another class that knows about the subclass, ie. something like this: class MyAdapter : public AdapterBase { public: MyAdapter(); virtual ~MyAdapter(); virtual DocumentHandler& handler() { return handler; } private: MyDocumentHandler handler_; }; (where handler() is defined as a virtual function in AdapterBase, and AdapterBase is the class known by the dispatching DocumentHandler). But it seems like a bit of unneccessary indirection. xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i... Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1 To unsubscribe, mailto:majordomo@i... the following message; unsubscribe xml-dev To subscribe to the digests, mailto:majordomo@i... the following message; subscribe xml-dev-digest List coordinator, Henry Rzepa (mailto:rzepa@i...)
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|