+ Make destructor virtual for classes with virtual methods (based on DevJohan's patch)

This commit is contained in:
wmayer 2014-07-26 19:17:12 +02:00
parent 4dee80f4e1
commit 6b1e6a66ad
9 changed files with 30 additions and 25 deletions

View File

@ -48,6 +48,7 @@ class AppExport Segment: public Base::BaseClass
TYPESYSTEM_HEADER();
public:
virtual ~Segment(){}
virtual std::string getName() const=0;
};

View File

@ -68,7 +68,7 @@ public:
* A destructor.
* A more elaborate description of the destructor.
*/
~PropertyVector();
virtual ~PropertyVector();
/** Sets the property
*/
@ -115,7 +115,7 @@ public:
* A destructor.
* A more elaborate description of the destructor.
*/
~PropertyVectorList();
virtual ~PropertyVectorList();
virtual void setSize(int newSize);
virtual int getSize(void) const;
@ -178,7 +178,7 @@ public:
* A destructor.
* A more elaborate description of the destructor.
*/
~PropertyMatrix();
virtual ~PropertyMatrix();
/** Sets the property
*/
@ -226,7 +226,7 @@ public:
* A destructor.
* A more elaborate description of the destructor.
*/
~PropertyPlacement();
virtual ~PropertyPlacement();
/** Sets the property
*/
@ -276,7 +276,7 @@ public:
* A destructor.
* A more elaborate description of the destructor.
*/
~PropertyPlacementLink();
virtual ~PropertyPlacementLink();
/** This method returns the linked DocumentObject
*/
@ -295,7 +295,7 @@ class AppExport PropertyGeometry : public App::Property
public:
PropertyGeometry();
~PropertyGeometry();
virtual ~PropertyGeometry();
/** @name Modification */
//@{
@ -315,7 +315,7 @@ class AppExport PropertyComplexGeoData : public App::PropertyGeometry
public:
PropertyComplexGeoData();
~PropertyComplexGeoData();
virtual ~PropertyComplexGeoData();
/** @name Modification */
//@{

View File

@ -58,7 +58,7 @@ public:
* A destructor.
* A more elaborate description of the destructor.
*/
~PropertyLink();
virtual ~PropertyLink();
/** Sets the property
*/
@ -120,7 +120,7 @@ public:
* A destructor.
* A more elaborate description of the destructor.
*/
~PropertyLinkSub();
virtual ~PropertyLinkSub();
/** Sets the property
*/

View File

@ -54,7 +54,7 @@ class AppExport PropertyInteger: public Property
public:
PropertyInteger();
~PropertyInteger();
virtual ~PropertyInteger();
/** Sets the property
*/
@ -90,7 +90,7 @@ class AppExport PropertyPath: public Property
public:
PropertyPath();
~PropertyPath();
virtual ~PropertyPath();
/** Sets the property
*/
@ -142,7 +142,7 @@ public:
PropertyEnumeration();
/// destructor
~PropertyEnumeration();
virtual ~PropertyEnumeration();
/// Enumeration methods
//@{
@ -207,7 +207,7 @@ public:
PropertyIntegerConstraint();
/// destructor
~PropertyIntegerConstraint();
virtual ~PropertyIntegerConstraint();
/// Constraint methods
//@{
@ -249,7 +249,7 @@ public:
PropertyPercent();
/// destructor
~PropertyPercent();
virtual ~PropertyPercent();
};
/** Integer list properties
@ -271,7 +271,7 @@ public:
* A destructor.
* A more elaborate description of the destructor.
*/
~PropertyIntegerList();
virtual ~PropertyIntegerList();
virtual void setSize(int newSize);
virtual int getSize(void) const;
@ -321,7 +321,7 @@ public:
* A destructor.
* A more elaborate description of the destructor.
*/
~PropertyIntegerSet();
virtual ~PropertyIntegerSet();
/** Sets the property
*/
@ -367,7 +367,7 @@ public:
* A destructor.
* A more elaborate description of the destructor.
*/
~PropertyMap();
virtual ~PropertyMap();
virtual int getSize(void) const;
@ -670,7 +670,7 @@ public:
* A destructor.
* A more elaborate description of the destructor.
*/
~PropertyStringList();
virtual ~PropertyStringList();
virtual void setSize(int newSize);
virtual int getSize(void) const;
@ -756,7 +756,7 @@ class AppExport PropertyBoolList : public PropertyLists
public:
PropertyBoolList();
~PropertyBoolList();
virtual ~PropertyBoolList();
virtual void setSize(int newSize);
virtual int getSize(void) const;
@ -804,7 +804,7 @@ public:
* A destructor.
* A more elaborate description of the destructor.
*/
~PropertyColor();
virtual ~PropertyColor();
/** Sets the property
*/
@ -850,7 +850,7 @@ public:
* A destructor.
* A more elaborate description of the destructor.
*/
~PropertyColorList();
virtual ~PropertyColorList();
virtual void setSize(int newSize);
virtual int getSize(void) const;
@ -903,7 +903,7 @@ public:
* A destructor.
* A more elaborate description of the destructor.
*/
~PropertyMaterial();
virtual ~PropertyMaterial();
/** Sets the property
*/

View File

@ -60,8 +60,8 @@ private:
InputField::InputField(QWidget * parent)
: QLineEdit(parent),
actUnitValue(0),
validInput(true),
actUnitValue(0),
Maximum(DOUBLE_MAX),
Minimum(-DOUBLE_MAX),
StepSize(1.0),

View File

@ -318,6 +318,7 @@ class MeshExport MeshCollector
{
public:
MeshCollector(){}
virtual ~MeshCollector(){}
virtual void Append(const MeshCore::MeshKernel&, unsigned long index) = 0;
};
@ -325,6 +326,7 @@ class MeshExport PointCollector : public MeshCollector
{
public:
PointCollector(std::vector<unsigned long>& ind) : indices(ind){}
virtual ~PointCollector(){}
virtual void Append(const MeshCore::MeshKernel& kernel, unsigned long index)
{
unsigned long ulP1, ulP2, ulP3;
@ -342,6 +344,7 @@ class MeshExport FacetCollector : public MeshCollector
{
public:
FacetCollector(std::vector<unsigned long>& ind) : indices(ind){}
virtual ~FacetCollector(){}
void Append(const MeshCore::MeshKernel&, unsigned long index)
{
indices.push_back(index);

View File

@ -82,7 +82,7 @@ public:
explicit MeshObject(const MeshCore::MeshKernel& Kernel);
explicit MeshObject(const MeshCore::MeshKernel& Kernel, const Base::Matrix4D &Mtrx);
MeshObject(const MeshObject&);
~MeshObject();
virtual ~MeshObject();
void operator = (const MeshObject&);

View File

@ -56,9 +56,9 @@ class SketcherExport Constraint : public Base::Persistence
TYPESYSTEM_HEADER();
public:
~Constraint();
Constraint();
Constraint(const Constraint&);
virtual ~Constraint();
virtual Constraint *clone(void) const;
static const int GeoUndef;

View File

@ -58,6 +58,7 @@ namespace GCS
int tag;
public:
Constraint();
virtual ~Constraint(){}
inline VEC_pD params() { return pvec; }