Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class GenericSymbolGenerator {
- protected: // <== ok
- ~GenericSymbolGenerator(void) {}
- public:
- virtual GenericSymbolTableCollection* generateSymbolTableCollection(GenericSymbolTableCollection *gst) = 0;
- GenericSymbolGenerator(void) {}
- // ~GenericSymbolGenerator(void) {} // <== warning if used
- };
- class PascalPredefinedSymbolGenerator : public GenericSymbolGenerator {
- protected:
- ~PascalPredefinedSymbolGenerator(void) {} // <== ok
- public:
- GenericSymbolTableCollection* generateSymbolTableCollection(GenericSymbolTableCollection *pst); // initializes *pst
- PascalPredefinedSymbolGenerator(void) {}
- // ~PascalPredefinedSymbolGenerator(void) {} <== warning if used
- };
- class PascalSymbolGenerator : public GenericSymbolGenerator {
- protected:
- ~PascalSymbolGenerator(void) {} // <== ok
- public:
- GenericSymbolTableCollection* generateSymbolTableCollection(GenericSymbolTableCollection *st); // initializes st
- PascalSymbolGenerator(void) {}
- // ~PascalSymbolGenerator(void) {} // <== warning if used
- };
- GenericSymbolGenerator *ptr = new PascalPredefinedSymbolGenerator();
- delete ptr; // behavior is undefined, we tried to call the base class destructor
Add Comment
Please, Sign In to add comment