@@ -79,6 +79,7 @@ class DLL_API Foo
7979 class NestedAbstract
8080 {
8181 public:
82+ ~NestedAbstract ();
8283 virtual int * abstractFunctionInNestedClass () = 0;
8384 };
8485
@@ -253,6 +254,7 @@ class DLL_API Hello
253254class DLL_API AbstractFoo
254255{
255256public:
257+ virtual ~AbstractFoo ();
256258 virtual int pureFunction (int i = 0 ) = 0;
257259 virtual int pureFunction1 () = 0;
258260 virtual int pureFunction2 (bool * ok = 0 ) = 0;
@@ -291,6 +293,7 @@ typedef DerivedException Ex2;
291293
292294struct DLL_API Exception : public Foo
293295{
296+ virtual ~Exception ();
294297 virtual Ex1* clone () = 0;
295298};
296299
@@ -540,11 +543,12 @@ class DLL_API SomeClassExtendingTheStruct : public SomeStruct
540543
541544namespace SomeNamespace
542545{
543- class DLL_API AbstractClass
544- {
545- public:
546- virtual void AbstractMethod () = 0;
547- };
546+ class DLL_API AbstractClass
547+ {
548+ public:
549+ ~AbstractClass ();
550+ virtual void AbstractMethod () = 0;
551+ };
548552}
549553
550554// Test operator overloads
@@ -553,11 +557,11 @@ class DLL_API ClassWithOverloadedOperators
553557public:
554558 ClassWithOverloadedOperators ();
555559
556- operator char ();
557- operator int ();
558- operator short ();
560+ operator char ();
561+ operator int ();
562+ operator short ();
559563
560- virtual bool operator <(const ClassWithOverloadedOperators &other) const ;
564+ virtual bool operator <(const ClassWithOverloadedOperators &other) const ;
561565};
562566
563567ClassWithOverloadedOperators::ClassWithOverloadedOperators () {}
@@ -1022,6 +1026,7 @@ class DLL_API DerivedClassVirtual : public BaseClassVirtual
10221026class DLL_API DerivedClassAbstractVirtual : public DerivedClassVirtual
10231027{
10241028public:
1029+ ~DerivedClassAbstractVirtual ();
10251030 virtual int retInt (const Foo& foo) = 0;
10261031};
10271032
@@ -1262,6 +1267,7 @@ class UsesSpecialisationOfVoid
12621267class DLL_API HasAbstractOperator
12631268{
12641269public:
1270+ ~HasAbstractOperator ();
12651271 virtual bool operator ==(const HasAbstractOperator& other) = 0 ;
12661272};
12671273
@@ -1529,10 +1535,12 @@ struct BaseCovariant;
15291535typedef std::unique_ptr<BaseCovariant> PtrCovariant;
15301536
15311537struct BaseCovariant {
1532- virtual PtrCovariant clone () const = 0;
1538+ virtual ~BaseCovariant ();
1539+ virtual PtrCovariant clone () const = 0;
15331540};
15341541
15351542struct DerivedCovariant : public BaseCovariant {
1543+ virtual ~DerivedCovariant ();
15361544 std::unique_ptr<BaseCovariant> clone () const override {
15371545 return PtrCovariant (new DerivedCovariant ());
15381546 }
0 commit comments