From 6b3ae23c1fd4f4f78b931acca3e8e1d8c37ed27f Mon Sep 17 00:00:00 2001
From: Robert Maynard <robert.maynard@kitware.com>
Date: Thu, 22 Sep 2016 16:17:02 -0400
Subject: [PATCH] VTK Common classes now all use VTK_OVERRIDE

---
 Common/Color/vtkColorSeries.h                 |  2 +-
 Common/Color/vtkNamedColors.h                 |  2 +-
 .../ComputationalGeometry/vtkCardinalSpline.h |  8 ++---
 .../ComputationalGeometry/vtkKochanekSpline.h |  8 ++---
 .../vtkParametricBohemianDome.h               |  8 ++---
 .../ComputationalGeometry/vtkParametricBour.h |  8 ++---
 .../ComputationalGeometry/vtkParametricBoy.h  |  8 ++---
 .../vtkParametricCatalanMinimal.h             |  8 ++---
 .../vtkParametricConicSpiral.h                |  8 ++---
 .../vtkParametricCrossCap.h                   |  8 ++---
 .../ComputationalGeometry/vtkParametricDini.h |  8 ++---
 .../vtkParametricEllipsoid.h                  |  8 ++---
 .../vtkParametricEnneper.h                    |  8 ++---
 .../vtkParametricFigure8Klein.h               |  8 ++---
 .../vtkParametricFunction.h                   |  2 +-
 .../vtkParametricHenneberg.h                  |  8 ++---
 .../vtkParametricKlein.h                      |  8 ++---
 .../ComputationalGeometry/vtkParametricKuen.h |  8 ++---
 .../vtkParametricMobius.h                     |  8 ++---
 .../vtkParametricPluckerConoid.h              |  8 ++---
 .../vtkParametricPseudosphere.h               |  8 ++---
 .../vtkParametricRandomHills.h                |  8 ++---
 .../vtkParametricRoman.h                      |  8 ++---
 .../vtkParametricSpline.h                     |  8 ++---
 .../vtkParametricSuperEllipsoid.h             |  8 ++---
 .../vtkParametricSuperToroid.h                |  8 ++---
 .../vtkParametricTorus.h                      |  8 ++---
 Common/Core/vtkAOSDataArrayTemplate.h         |  2 +-
 Common/Core/vtkAbstractArray.h                |  2 +-
 Common/Core/vtkAnimationCue.h                 |  2 +-
 Common/Core/vtkArray.h                        |  2 +-
 Common/Core/vtkArrayIterator.h                |  2 +-
 Common/Core/vtkArrayIteratorTemplate.h        |  2 +-
 Common/Core/vtkBitArray.h                     | 18 +++++-----
 Common/Core/vtkBitArrayIterator.h             |  2 +-
 Common/Core/vtkBoxMuellerRandomSequence.h     |  2 +-
 Common/Core/vtkBuffer.h                       |  2 +-
 Common/Core/vtkByteSwap.h                     |  2 +-
 Common/Core/vtkCallbackCommand.h              |  2 +-
 Common/Core/vtkCharArray.h                    |  2 +-
 Common/Core/vtkCollection.h                   |  2 +-
 Common/Core/vtkCollectionIterator.h           |  2 +-
 Common/Core/vtkCommand.h                      |  2 +-
 Common/Core/vtkCriticalSection.h              |  2 +-
 Common/Core/vtkDataArray.h                    |  2 +-
 Common/Core/vtkDataArrayCollection.h          |  2 +-
 Common/Core/vtkDataArrayCollectionIterator.h  |  2 +-
 Common/Core/vtkDataArraySelection.h           |  2 +-
 Common/Core/vtkDebugLeaks.h                   |  2 +-
 Common/Core/vtkDenseArray.h                   |  6 ++--
 Common/Core/vtkDoubleArray.h                  |  2 +-
 Common/Core/vtkDynamicLoader.h                |  2 +-
 Common/Core/vtkEventForwarderCommand.h        |  2 +-
 Common/Core/vtkFileOutputWindow.h             |  2 +-
 Common/Core/vtkFloatArray.h                   |  2 +-
 Common/Core/vtkGarbageCollector.h             |  2 +-
 Common/Core/vtkGaussianRandomSequence.h       |  2 +-
 Common/Core/vtkIdList.h                       |  2 +-
 Common/Core/vtkIdListCollection.h             |  2 +-
 Common/Core/vtkIdTypeArray.h                  |  2 +-
 Common/Core/vtkInformation.h                  |  2 +-
 Common/Core/vtkInformationDataObjectKey.h     |  2 +-
 Common/Core/vtkInformationDoubleKey.h         |  2 +-
 Common/Core/vtkInformationDoubleVectorKey.h   |  2 +-
 Common/Core/vtkInformationIdTypeKey.h         |  2 +-
 Common/Core/vtkInformationInformationKey.h    |  2 +-
 .../Core/vtkInformationInformationVectorKey.h |  2 +-
 Common/Core/vtkInformationIntegerKey.h        |  2 +-
 Common/Core/vtkInformationIntegerPointerKey.h |  2 +-
 Common/Core/vtkInformationIntegerVectorKey.h  |  2 +-
 Common/Core/vtkInformationIterator.h          |  2 +-
 Common/Core/vtkInformationKey.h               |  2 +-
 Common/Core/vtkInformationKeyLookup.h         |  2 +-
 Common/Core/vtkInformationKeyVectorKey.h      |  2 +-
 Common/Core/vtkInformationObjectBaseKey.h     |  2 +-
 .../Core/vtkInformationObjectBaseVectorKey.h  |  2 +-
 Common/Core/vtkInformationRequestKey.h        |  2 +-
 Common/Core/vtkInformationStringKey.h         |  2 +-
 Common/Core/vtkInformationStringVectorKey.h   |  2 +-
 Common/Core/vtkInformationUnsignedLongKey.h   |  2 +-
 Common/Core/vtkInformationVariantKey.h        |  2 +-
 Common/Core/vtkInformationVariantVectorKey.h  |  2 +-
 Common/Core/vtkInformationVector.h            |  2 +-
 Common/Core/vtkInstantiator.h                 |  2 +-
 Common/Core/vtkIntArray.h                     |  2 +-
 Common/Core/vtkLongArray.h                    |  2 +-
 Common/Core/vtkLongLongArray.h                |  2 +-
 Common/Core/vtkLookupTable.h                  |  2 +-
 Common/Core/vtkMath.cxx                       |  2 +-
 Common/Core/vtkMath.h                         |  2 +-
 Common/Core/vtkMersenneTwister.h              |  2 +-
 .../Core/vtkMinimalStandardRandomSequence.h   |  2 +-
 Common/Core/vtkMultiThreader.h                |  2 +-
 Common/Core/vtkOStrStreamWrapper.h            |  2 +-
 Common/Core/vtkObject.h                       |  8 ++---
 Common/Core/vtkObjectFactory.cxx              |  4 +--
 Common/Core/vtkObjectFactory.h                |  2 +-
 Common/Core/vtkObjectFactoryCollection.h      |  2 +-
 Common/Core/vtkOldStyleCallbackCommand.h      |  2 +-
 Common/Core/vtkOutputWindow.h                 |  2 +-
 Common/Core/vtkOverrideInformation.h          |  2 +-
 .../Core/vtkOverrideInformationCollection.h   |  2 +-
 Common/Core/vtkPoints.h                       |  2 +-
 Common/Core/vtkPoints2D.h                     |  2 +-
 Common/Core/vtkPriorityQueue.h                |  2 +-
 Common/Core/vtkRandomSequence.h               |  2 +-
 Common/Core/vtkReferenceCount.h               |  2 +-
 Common/Core/vtkSOADataArrayTemplate.h         |  2 +-
 Common/Core/vtkScalarsToColors.h              |  2 +-
 Common/Core/vtkShortArray.h                   |  2 +-
 Common/Core/vtkSignedCharArray.h              |  2 +-
 Common/Core/vtkSortDataArray.h                |  2 +-
 Common/Core/vtkSparseArray.h                  |  2 +-
 Common/Core/vtkStringArray.h                  |  2 +-
 Common/Core/vtkStringOutputWindow.h           |  2 +-
 Common/Core/vtkTimePointUtility.h             |  2 +-
 Common/Core/vtkTypedArray.h                   |  2 +-
 Common/Core/vtkTypedDataArray.h               | 13 +++----
 Common/Core/vtkUnicodeStringArray.h           |  2 +-
 Common/Core/vtkUnsignedCharArray.h            |  2 +-
 Common/Core/vtkUnsignedIntArray.h             |  2 +-
 Common/Core/vtkUnsignedLongArray.h            |  2 +-
 Common/Core/vtkUnsignedLongLongArray.h        |  2 +-
 Common/Core/vtkUnsignedShortArray.h           |  2 +-
 Common/Core/vtkVariantArray.h                 |  2 +-
 Common/Core/vtkVersion.h                      |  2 +-
 Common/Core/vtkVoidArray.h                    |  2 +-
 Common/Core/vtkWindow.h                       |  2 +-
 Common/Core/vtkXMLFileOutputWindow.h          |  2 +-
 Common/DataModel/vtkAMRDataInternals.h        |  2 +-
 Common/DataModel/vtkAMRInformation.h          |  2 +-
 Common/DataModel/vtkAMRUtilities.h            |  2 +-
 Common/DataModel/vtkAbstractCellLinks.h       |  2 +-
 Common/DataModel/vtkAbstractCellLocator.h     |  2 +-
 Common/DataModel/vtkAbstractElectronicData.h  |  2 +-
 Common/DataModel/vtkAbstractPointLocator.h    |  2 +-
 Common/DataModel/vtkAdjacentVertexIterator.h  |  2 +-
 Common/DataModel/vtkAnimationScene.h          |  2 +-
 Common/DataModel/vtkAnnotation.h              |  2 +-
 Common/DataModel/vtkAnnotationLayers.h        |  2 +-
 Common/DataModel/vtkArrayData.h               |  2 +-
 Common/DataModel/vtkAttributesErrorMetric.h   |  2 +-
 Common/DataModel/vtkBSPCuts.h                 |  2 +-
 Common/DataModel/vtkBSPIntersections.h        |  2 +-
 Common/DataModel/vtkBiQuadraticQuad.h         |  2 +-
 .../vtkBiQuadraticQuadraticHexahedron.h       |  2 +-
 .../DataModel/vtkBiQuadraticQuadraticWedge.h  |  2 +-
 Common/DataModel/vtkBiQuadraticTriangle.h     |  2 +-
 Common/DataModel/vtkBox.h                     |  2 +-
 Common/DataModel/vtkCell.h                    |  2 +-
 Common/DataModel/vtkCell3D.h                  |  2 +-
 Common/DataModel/vtkCellArray.h               |  2 +-
 Common/DataModel/vtkCellData.h                |  2 +-
 Common/DataModel/vtkCellIterator.h            |  2 +-
 Common/DataModel/vtkCellLinks.h               |  2 +-
 Common/DataModel/vtkCellLocator.h             |  2 +-
 Common/DataModel/vtkCellTypes.h               |  2 +-
 Common/DataModel/vtkCompositeDataIterator.h   |  2 +-
 Common/DataModel/vtkCompositeDataSet.h        |  2 +-
 Common/DataModel/vtkCone.h                    |  2 +-
 Common/DataModel/vtkConvexPointSet.h          |  2 +-
 Common/DataModel/vtkCubicLine.h               |  2 +-
 Common/DataModel/vtkCylinder.h                |  2 +-
 Common/DataModel/vtkDataObject.h              |  2 +-
 Common/DataModel/vtkDataObjectCollection.h    |  2 +-
 Common/DataModel/vtkDataObjectTree.h          |  2 +-
 Common/DataModel/vtkDataObjectTreeIterator.h  |  2 +-
 Common/DataModel/vtkDataObjectTypes.h         |  2 +-
 Common/DataModel/vtkDataSet.h                 |  2 +-
 Common/DataModel/vtkDataSetAttributes.h       |  2 +-
 Common/DataModel/vtkDataSetCellIterator.h     |  2 +-
 Common/DataModel/vtkDataSetCollection.h       |  2 +-
 Common/DataModel/vtkDirectedAcyclicGraph.h    |  2 +-
 Common/DataModel/vtkDirectedGraph.h           |  2 +-
 Common/DataModel/vtkDistributedGraphHelper.h  |  2 +-
 Common/DataModel/vtkEdgeListIterator.h        |  2 +-
 Common/DataModel/vtkEdgeTable.h               |  2 +-
 Common/DataModel/vtkEmptyCell.h               |  2 +-
 .../vtkExtractStructuredGridHelper.h          |  2 +-
 Common/DataModel/vtkFieldData.h               |  4 +--
 Common/DataModel/vtkGenericAdaptorCell.h      |  2 +-
 Common/DataModel/vtkGenericAttribute.h        |  2 +-
 .../DataModel/vtkGenericAttributeCollection.h |  2 +-
 Common/DataModel/vtkGenericCell.h             |  2 +-
 Common/DataModel/vtkGenericCellIterator.h     |  2 +-
 Common/DataModel/vtkGenericCellTessellator.h  |  2 +-
 Common/DataModel/vtkGenericDataSet.h          |  2 +-
 Common/DataModel/vtkGenericEdgeTable.h        |  2 +-
 .../vtkGenericInterpolatedVelocityField.h     |  2 +-
 Common/DataModel/vtkGenericPointIterator.h    |  2 +-
 .../vtkGenericSubdivisionErrorMetric.h        |  2 +-
 Common/DataModel/vtkGeometricErrorMetric.h    |  2 +-
 Common/DataModel/vtkGraph.h                   |  2 +-
 Common/DataModel/vtkGraphEdge.h               |  2 +-
 Common/DataModel/vtkGraphInternals.h          |  2 +-
 Common/DataModel/vtkHexagonalPrism.h          |  2 +-
 Common/DataModel/vtkHexahedron.h              |  2 +-
 .../vtkHierarchicalBoxDataIterator.h          |  2 +-
 Common/DataModel/vtkHierarchicalBoxDataSet.h  |  2 +-
 Common/DataModel/vtkHyperOctree.h             |  2 +-
 Common/DataModel/vtkHyperOctreeCursor.h       |  2 +-
 .../DataModel/vtkHyperOctreePointsGrabber.h   |  2 +-
 Common/DataModel/vtkHyperTreeCursor.h         |  2 +-
 Common/DataModel/vtkHyperTreeGrid.h           |  2 +-
 Common/DataModel/vtkImageData.h               |  2 +-
 Common/DataModel/vtkImplicitBoolean.h         |  2 +-
 Common/DataModel/vtkImplicitDataSet.h         |  2 +-
 Common/DataModel/vtkImplicitFunction.h        |  2 +-
 .../DataModel/vtkImplicitFunctionCollection.h |  2 +-
 Common/DataModel/vtkImplicitHalo.h            |  2 +-
 Common/DataModel/vtkImplicitSelectionLoop.h   |  2 +-
 Common/DataModel/vtkImplicitSum.h             |  2 +-
 Common/DataModel/vtkImplicitVolume.h          |  2 +-
 Common/DataModel/vtkImplicitWindowFunction.h  |  2 +-
 Common/DataModel/vtkInEdgeIterator.h          |  2 +-
 Common/DataModel/vtkIncrementalOctreeNode.h   |  2 +-
 .../vtkIncrementalOctreePointLocator.h        |  2 +-
 Common/DataModel/vtkIncrementalPointLocator.h |  2 +-
 ...ationQuadratureSchemeDefinitionVectorKey.h |  2 +-
 .../vtkIterativeClosestPointTransform.h       |  2 +-
 Common/DataModel/vtkKdNode.h                  |  2 +-
 Common/DataModel/vtkKdTree.h                  |  2 +-
 Common/DataModel/vtkKdTreePointLocator.h      |  2 +-
 Common/DataModel/vtkLine.h                    |  2 +-
 Common/DataModel/vtkLocator.h                 |  2 +-
 .../vtkMeanValueCoordinatesInterpolator.h     |  2 +-
 Common/DataModel/vtkMergePoints.h             |  2 +-
 Common/DataModel/vtkMolecule.h                |  2 +-
 Common/DataModel/vtkMultiBlockDataSet.h       |  2 +-
 Common/DataModel/vtkMultiPieceDataSet.h       |  2 +-
 Common/DataModel/vtkMutableDirectedGraph.h    |  2 +-
 Common/DataModel/vtkMutableUndirectedGraph.h  |  2 +-
 Common/DataModel/vtkNonLinearCell.h           |  2 +-
 Common/DataModel/vtkNonMergingPointLocator.h  |  2 +-
 Common/DataModel/vtkNonOverlappingAMR.h       |  2 +-
 Common/DataModel/vtkOctreePointLocator.h      |  2 +-
 Common/DataModel/vtkOctreePointLocatorNode.h  |  2 +-
 Common/DataModel/vtkOrderedTriangulator.h     |  2 +-
 Common/DataModel/vtkOutEdgeIterator.h         |  2 +-
 Common/DataModel/vtkOverlappingAMR.h          |  2 +-
 Common/DataModel/vtkPath.h                    |  2 +-
 Common/DataModel/vtkPentagonalPrism.h         |  2 +-
 Common/DataModel/vtkPerlinNoise.h             |  2 +-
 Common/DataModel/vtkPiecewiseFunction.h       |  2 +-
 Common/DataModel/vtkPixel.h                   |  2 +-
 Common/DataModel/vtkPlane.h                   |  2 +-
 Common/DataModel/vtkPlaneCollection.h         |  2 +-
 Common/DataModel/vtkPlanes.h                  |  2 +-
 Common/DataModel/vtkPlanesIntersection.h      |  2 +-
 Common/DataModel/vtkPointData.h               |  2 +-
 Common/DataModel/vtkPointLocator.h            |  2 +-
 Common/DataModel/vtkPointSet.h                |  2 +-
 Common/DataModel/vtkPointSetCellIterator.h    |  2 +-
 Common/DataModel/vtkPointsProjectedHull.h     |  2 +-
 Common/DataModel/vtkPolyData.h                |  2 +-
 Common/DataModel/vtkPolyDataCollection.h      |  2 +-
 Common/DataModel/vtkPolyLine.h                |  2 +-
 Common/DataModel/vtkPolyPlane.h               |  2 +-
 Common/DataModel/vtkPolyVertex.h              |  2 +-
 Common/DataModel/vtkPolygon.h                 |  2 +-
 Common/DataModel/vtkPolyhedron.h              |  2 +-
 Common/DataModel/vtkPyramid.h                 |  2 +-
 Common/DataModel/vtkQuad.h                    |  2 +-
 Common/DataModel/vtkQuadraticEdge.h           |  2 +-
 Common/DataModel/vtkQuadraticHexahedron.h     |  2 +-
 Common/DataModel/vtkQuadraticLinearQuad.h     |  2 +-
 Common/DataModel/vtkQuadraticLinearWedge.h    |  2 +-
 Common/DataModel/vtkQuadraticPolygon.h        |  2 +-
 Common/DataModel/vtkQuadraticPyramid.h        |  2 +-
 Common/DataModel/vtkQuadraticQuad.h           |  2 +-
 Common/DataModel/vtkQuadraticTetra.h          |  2 +-
 Common/DataModel/vtkQuadraticTriangle.h       |  2 +-
 Common/DataModel/vtkQuadraticWedge.h          |  2 +-
 .../DataModel/vtkQuadratureSchemeDefinition.h |  2 +-
 Common/DataModel/vtkQuadric.h                 |  2 +-
 Common/DataModel/vtkRectilinearGrid.h         |  2 +-
 Common/DataModel/vtkReebGraph.h               |  2 +-
 .../vtkReebGraphSimplificationMetric.h        |  2 +-
 Common/DataModel/vtkSelection.h               |  2 +-
 Common/DataModel/vtkSelectionNode.h           |  2 +-
 Common/DataModel/vtkSimpleCellTessellator.h   |  2 +-
 Common/DataModel/vtkSmoothErrorMetric.h       |  2 +-
 Common/DataModel/vtkSortFieldData.h           |  2 +-
 Common/DataModel/vtkSphere.h                  |  2 +-
 Common/DataModel/vtkSpline.h                  |  2 +-
 Common/DataModel/vtkStaticCellLinks.h         |  2 +-
 Common/DataModel/vtkStaticPointLocator.h      |  2 +-
 Common/DataModel/vtkStructuredData.h          |  2 +-
 Common/DataModel/vtkStructuredExtent.h        |  2 +-
 Common/DataModel/vtkStructuredGrid.h          |  2 +-
 Common/DataModel/vtkStructuredPoints.h        |  2 +-
 .../DataModel/vtkStructuredPointsCollection.h |  2 +-
 Common/DataModel/vtkSuperquadric.h            |  2 +-
 Common/DataModel/vtkTable.h                   |  2 +-
 Common/DataModel/vtkTetra.h                   |  2 +-
 Common/DataModel/vtkTree.h                    |  2 +-
 Common/DataModel/vtkTreeBFSIterator.h         |  2 +-
 Common/DataModel/vtkTreeDFSIterator.h         |  2 +-
 Common/DataModel/vtkTreeIterator.h            |  2 +-
 Common/DataModel/vtkTriQuadraticHexahedron.h  |  2 +-
 Common/DataModel/vtkTriangle.h                |  2 +-
 Common/DataModel/vtkTriangleStrip.h           |  2 +-
 Common/DataModel/vtkUndirectedGraph.h         |  2 +-
 Common/DataModel/vtkUniformGrid.h             |  2 +-
 Common/DataModel/vtkUniformGridAMR.h          |  2 +-
 .../DataModel/vtkUniformGridAMRDataIterator.h |  2 +-
 Common/DataModel/vtkUnstructuredGrid.h        |  2 +-
 Common/DataModel/vtkUnstructuredGridBase.h    |  2 +-
 .../vtkUnstructuredGridCellIterator.h         |  2 +-
 Common/DataModel/vtkVertex.h                  |  2 +-
 Common/DataModel/vtkVertexListIterator.h      |  2 +-
 Common/DataModel/vtkVoxel.h                   |  2 +-
 Common/DataModel/vtkWedge.h                   |  2 +-
 Common/DataModel/vtkXMLDataElement.h          |  2 +-
 Common/ExecutionModel/vtkAlgorithm.h          |  2 +-
 Common/ExecutionModel/vtkAlgorithmOutput.h    |  2 +-
 .../vtkAnnotationLayersAlgorithm.h            | 10 +++---
 Common/ExecutionModel/vtkArrayDataAlgorithm.h | 10 +++---
 .../vtkCachedStreamingDemandDrivenPipeline.h  | 10 +++---
 Common/ExecutionModel/vtkCastToConcrete.h     |  6 ++--
 .../ExecutionModel/vtkCompositeDataPipeline.h | 34 +++++++++---------
 .../vtkCompositeDataSetAlgorithm.h            | 12 +++----
 .../ExecutionModel/vtkDataObjectAlgorithm.h   | 10 +++---
 Common/ExecutionModel/vtkDataSetAlgorithm.h   | 10 +++---
 .../ExecutionModel/vtkDemandDrivenPipeline.h  | 20 +++++------
 .../vtkDirectedGraphAlgorithm.h               | 10 +++---
 Common/ExecutionModel/vtkEnsembleSource.h     |  8 ++---
 Common/ExecutionModel/vtkExecutive.h          |  2 +-
 .../ExecutionModel/vtkExtentRCBPartitioner.h  |  4 +--
 Common/ExecutionModel/vtkExtentSplitter.h     |  2 +-
 Common/ExecutionModel/vtkExtentTranslator.h   |  2 +-
 Common/ExecutionModel/vtkGraphAlgorithm.h     | 10 +++---
 .../vtkHierarchicalBoxDataSetAlgorithm.h      | 12 +++----
 .../ExecutionModel/vtkHyperOctreeAlgorithm.h  | 10 +++---
 .../vtkHyperTreeGridAlgorithm.h               | 10 +++---
 Common/ExecutionModel/vtkImageAlgorithm.h     | 10 +++---
 Common/ExecutionModel/vtkImageInPlaceFilter.h |  6 ++--
 .../ExecutionModel/vtkImageToStructuredGrid.h | 12 +++----
 .../vtkImageToStructuredPoints.h              | 12 +++----
 .../vtkInformationDataObjectMetaDataKey.h     |  6 ++--
 .../vtkInformationExecutivePortKey.h          |  2 +-
 .../vtkInformationExecutivePortVectorKey.h    |  2 +-
 .../vtkInformationIntegerRequestKey.h         | 14 ++++----
 .../vtkMultiBlockDataSetAlgorithm.h           | 12 +++----
 .../vtkMultiTimeStepAlgorithm.h               |  4 +--
 .../vtkNonOverlappingAMRAlgorithm.h           |  6 ++--
 .../vtkOverlappingAMRAlgorithm.h              |  6 ++--
 .../vtkPassInputTypeAlgorithm.h               | 10 +++---
 .../vtkPiecewiseFunctionAlgorithm.h           | 10 +++---
 .../vtkPiecewiseFunctionShiftScale.h          |  6 ++--
 Common/ExecutionModel/vtkPointSetAlgorithm.h  | 10 +++---
 Common/ExecutionModel/vtkPolyDataAlgorithm.h  | 10 +++---
 Common/ExecutionModel/vtkProgressObserver.h   |  2 +-
 .../vtkRectilinearGridAlgorithm.h             | 10 +++---
 .../ExecutionModel/vtkSMPProgressObserver.h   |  4 +--
 Common/ExecutionModel/vtkScalarTree.h         |  2 +-
 Common/ExecutionModel/vtkSelectionAlgorithm.h | 10 +++---
 .../vtkSimpleImageToImageFilter.h             | 10 +++---
 Common/ExecutionModel/vtkSimpleScalarTree.h   | 18 +++++-----
 Common/ExecutionModel/vtkSpanSpace.h          | 18 +++++-----
 .../vtkStreamingDemandDrivenPipeline.h        | 36 +++++++++----------
 .../vtkStructuredGridAlgorithm.h              | 10 +++---
 Common/ExecutionModel/vtkTableAlgorithm.h     | 10 +++---
 .../vtkThreadedCompositeDataPipeline.h        | 12 +++----
 .../vtkThreadedImageAlgorithm.h               |  6 ++--
 Common/ExecutionModel/vtkTreeAlgorithm.h      | 10 +++---
 Common/ExecutionModel/vtkTrivialConsumer.h    |  6 ++--
 Common/ExecutionModel/vtkTrivialProducer.h    | 14 ++++----
 .../vtkUndirectedGraphAlgorithm.h             | 10 +++---
 .../vtkUniformGridAMRAlgorithm.h              | 12 +++----
 .../vtkUniformGridPartitioner.h               | 12 +++----
 .../vtkUnstructuredGridAlgorithm.h            | 10 +++---
 .../vtkUnstructuredGridBaseAlgorithm.h        | 10 +++---
 Common/Math/vtkAmoebaMinimizer.h              |  2 +-
 Common/Math/vtkFunctionSet.h                  |  2 +-
 Common/Math/vtkInitialValueProblemSolver.h    |  2 +-
 Common/Math/vtkMatrix3x3.h                    |  2 +-
 Common/Math/vtkMatrix4x4.h                    |  2 +-
 Common/Math/vtkPolynomialSolversUnivariate.h  |  2 +-
 Common/Math/vtkQuaternionInterpolator.h       |  2 +-
 Common/Math/vtkRungeKutta2.h                  |  2 +-
 Common/Math/vtkRungeKutta4.h                  |  2 +-
 Common/Math/vtkRungeKutta45.h                 |  2 +-
 Common/Misc/vtkContourValues.h                |  2 +-
 Common/Misc/vtkFunctionParser.h               |  2 +-
 Common/Misc/vtkHeap.h                         |  2 +-
 Common/System/vtkClientSocket.h               |  2 +-
 Common/System/vtkDirectory.h                  |  2 +-
 Common/System/vtkServerSocket.h               |  2 +-
 Common/System/vtkSocket.h                     |  2 +-
 Common/System/vtkSocketCollection.h           |  2 +-
 Common/System/vtkThreadMessager.h             |  2 +-
 Common/System/vtkTimerLog.h                   |  2 +-
 Common/Transforms/vtkAbstractTransform.h      |  2 +-
 Common/Transforms/vtkCylindricalTransform.h   |  2 +-
 Common/Transforms/vtkGeneralTransform.h       |  2 +-
 Common/Transforms/vtkHomogeneousTransform.h   |  2 +-
 Common/Transforms/vtkIdentityTransform.h      |  2 +-
 Common/Transforms/vtkLandmarkTransform.h      |  2 +-
 Common/Transforms/vtkLinearTransform.h        |  2 +-
 .../vtkMatrixToHomogeneousTransform.h         |  2 +-
 .../Transforms/vtkMatrixToLinearTransform.h   |  2 +-
 Common/Transforms/vtkPerspectiveTransform.h   |  2 +-
 Common/Transforms/vtkSphericalTransform.h     |  2 +-
 .../Transforms/vtkThinPlateSplineTransform.h  |  2 +-
 Common/Transforms/vtkTransform.h              |  2 +-
 Common/Transforms/vtkTransform2D.h            |  2 +-
 Common/Transforms/vtkTransformCollection.h    |  2 +-
 Common/Transforms/vtkWarpTransform.h          |  2 +-
 409 files changed, 723 insertions(+), 728 deletions(-)

diff --git a/Common/Color/vtkColorSeries.h b/Common/Color/vtkColorSeries.h
index 671cce97e8e..428bdfbb55b 100644
--- a/Common/Color/vtkColorSeries.h
+++ b/Common/Color/vtkColorSeries.h
@@ -288,7 +288,7 @@ enum LUTMode {
 
 protected:
   vtkColorSeries();
-  virtual ~vtkColorSeries();
+  ~vtkColorSeries() VTK_OVERRIDE;
 
   // Description:
   // If the current scheme is a predefined (read-only) scheme,
diff --git a/Common/Color/vtkNamedColors.h b/Common/Color/vtkNamedColors.h
index e72e2c1786b..405c21c482e 100644
--- a/Common/Color/vtkNamedColors.h
+++ b/Common/Color/vtkNamedColors.h
@@ -352,7 +352,7 @@ public:
 
 protected:
   vtkNamedColors();
-  virtual ~vtkNamedColors();
+  ~vtkNamedColors() VTK_OVERRIDE;
 
 private:
   // Description:
diff --git a/Common/ComputationalGeometry/vtkCardinalSpline.h b/Common/ComputationalGeometry/vtkCardinalSpline.h
index 5dcce8faf92..71668e16424 100644
--- a/Common/ComputationalGeometry/vtkCardinalSpline.h
+++ b/Common/ComputationalGeometry/vtkCardinalSpline.h
@@ -39,19 +39,19 @@ public:
 
   // Description
   // Compute Cardinal Splines for each dependent variable
-  void Compute ();
+  void Compute () VTK_OVERRIDE;
 
   // Description:
   // Evaluate a 1D cardinal spline.
-  virtual double Evaluate (double t);
+  double Evaluate (double t) VTK_OVERRIDE;
 
   // Description:
   // Deep copy of cardinal spline data.
-  virtual void DeepCopy(vtkSpline *s);
+  void DeepCopy(vtkSpline *s) VTK_OVERRIDE;
 
 protected:
   vtkCardinalSpline();
-  ~vtkCardinalSpline() {}
+  ~vtkCardinalSpline() VTK_OVERRIDE {}
 
   void Fit1D (int n, double *x, double *y, double *w, double coefficients[][4],
               int leftConstraint, double leftValue, int rightConstraint,
diff --git a/Common/ComputationalGeometry/vtkKochanekSpline.h b/Common/ComputationalGeometry/vtkKochanekSpline.h
index cde2844ad0b..b9fedb41b83 100644
--- a/Common/ComputationalGeometry/vtkKochanekSpline.h
+++ b/Common/ComputationalGeometry/vtkKochanekSpline.h
@@ -59,11 +59,11 @@ public:
 
   // Description:
   // Compute Kochanek Spline coefficients.
-  void Compute ();
+  void Compute () VTK_OVERRIDE;
 
   // Description:
   // Evaluate a 1D Kochanek spline.
-  double Evaluate (double t);
+  double Evaluate (double t) VTK_OVERRIDE;
 
   // Description:
   // Set the bias for all points. Default is 0.
@@ -82,11 +82,11 @@ public:
 
   // Description:
   // Deep copy of cardinal spline data.
-  virtual void DeepCopy(vtkSpline *s);
+  void DeepCopy(vtkSpline *s) VTK_OVERRIDE;
 
 protected:
   vtkKochanekSpline();
-  ~vtkKochanekSpline() {}
+  ~vtkKochanekSpline() VTK_OVERRIDE {}
 
   void Fit1D (int n, double *x, double *y, double tension, double bias,
               double continuity, double coefficients[][4], int leftConstraint,
diff --git a/Common/ComputationalGeometry/vtkParametricBohemianDome.h b/Common/ComputationalGeometry/vtkParametricBohemianDome.h
index 026667334e5..da3166cbef4 100644
--- a/Common/ComputationalGeometry/vtkParametricBohemianDome.h
+++ b/Common/ComputationalGeometry/vtkParametricBohemianDome.h
@@ -56,7 +56,7 @@ public:
 
   // Description
   // Return the parametric dimension of the class.
-  virtual int GetDimension() {return 2;}
+  int GetDimension() VTK_OVERRIDE {return 2;}
 
   // Description:
   // BohemianDome surface.
@@ -65,16 +65,16 @@ public:
   // as Pt. It also returns the partial derivatives Du and Dv.
   // \f$Pt = (x, y, z), D_u\vec{f} = (dx/du, dy/du, dz/du), D_v\vec{f} = (dx/dv, dy/dv, dz/dv)\f$ .
   // Then the normal is \f$N = D_u\vec{f} \times D_v\vec{f}\f$ .
-  virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]);
+  void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
   // Description:
   // Calculate a user defined scalar using one or all of uvw, Pt, Duvw.
   // This method simply returns 0.
-  virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]);
+  double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
 protected:
   vtkParametricBohemianDome();
-  ~vtkParametricBohemianDome();
+  ~vtkParametricBohemianDome() VTK_OVERRIDE;
 
   // Variables
   double A;
diff --git a/Common/ComputationalGeometry/vtkParametricBour.h b/Common/ComputationalGeometry/vtkParametricBour.h
index a6dba86bf81..1d38c0bf7f2 100644
--- a/Common/ComputationalGeometry/vtkParametricBour.h
+++ b/Common/ComputationalGeometry/vtkParametricBour.h
@@ -45,7 +45,7 @@ public:
 
   // Description
   // Return the parametric dimension of the class.
-  virtual int GetDimension() {return 2;}
+  int GetDimension() VTK_OVERRIDE {return 2;}
 
   // Description:
   // Bour's minimal surface.
@@ -54,16 +54,16 @@ public:
   // as Pt. It also returns the partial derivatives Du and Dv.
   // \f$Pt = (x, y, z), D_u\vec{f} = (dx/du, dy/du, dz/du), D_v\vec{f} = (dx/dv, dy/dv, dz/dv)\f$ .
   // Then the normal is \f$N = D_u\vec{f} \times D_v\vec{f}\f$ .
-  virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]);
+  void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
   // Description:
   // Calculate a user defined scalar using one or all of uvw, Pt, Duvw.
   // This method simply returns 0.
-  virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]);
+  double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
 protected:
   vtkParametricBour();
-  ~vtkParametricBour();
+  ~vtkParametricBour() VTK_OVERRIDE;
 
 private:
   vtkParametricBour(const vtkParametricBour&) VTK_DELETE_FUNCTION;
diff --git a/Common/ComputationalGeometry/vtkParametricBoy.h b/Common/ComputationalGeometry/vtkParametricBoy.h
index 188ada52087..a82bf8d1b4f 100644
--- a/Common/ComputationalGeometry/vtkParametricBoy.h
+++ b/Common/ComputationalGeometry/vtkParametricBoy.h
@@ -52,7 +52,7 @@ public:
 
   // Description
   // Return the parametric dimension of the class.
-  virtual int GetDimension() {return 2;}
+  int GetDimension() VTK_OVERRIDE {return 2;}
 
   // Description:
   // Set/Get the scale factor for the z-coordinate.
@@ -67,7 +67,7 @@ public:
   // as Pt. It also returns the partial derivatives Du and Dv.
   // \f$Pt = (x, y, z), Du = (dx/du, dy/du, dz/du), Dv = (dx/dv, dy/dv, dz/dv)\f$ .
   // Then the normal is \f$N = Du X Dv\f$ .
-  virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]);
+  void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
   // Description:
   // Calculate a user defined scalar using one or all of uvw, Pt, Duvw.
@@ -82,11 +82,11 @@ public:
   // If the user does not need to calculate a scalar, then the
   // instantiated function should return zero.
   //
-  virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]);
+  double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
 protected:
   vtkParametricBoy();
-  ~vtkParametricBoy();
+  ~vtkParametricBoy() VTK_OVERRIDE;
 
   // Variables
   double ZScale;
diff --git a/Common/ComputationalGeometry/vtkParametricCatalanMinimal.h b/Common/ComputationalGeometry/vtkParametricCatalanMinimal.h
index 63e6d735c49..4749d8123ad 100644
--- a/Common/ComputationalGeometry/vtkParametricCatalanMinimal.h
+++ b/Common/ComputationalGeometry/vtkParametricCatalanMinimal.h
@@ -46,7 +46,7 @@ public:
 
   // Description
   // Return the parametric dimension of the class.
-  virtual int GetDimension() {return 2;}
+  int GetDimension() VTK_OVERRIDE {return 2;}
 
   // Description:
   // Catalan's minimal surface.
@@ -55,16 +55,16 @@ public:
   // as Pt. It also returns the partial derivatives Du and Dv.
   // \f$Pt = (x, y, z), D_u\vec{f} = (dx/du, dy/du, dz/du), D_v\vec{f} = (dx/dv, dy/dv, dz/dv)\f$ .
   // Then the normal is \f$N = D_u\vec{f} \times D_v\vec{f}\f$ .
-  virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]);
+  void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
   // Description:
   // Calculate a user defined scalar using one or all of uvw, Pt, Duvw.
   // This method simply returns 0.
-  virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]);
+  double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
 protected:
   vtkParametricCatalanMinimal();
-  ~vtkParametricCatalanMinimal();
+  ~vtkParametricCatalanMinimal() VTK_OVERRIDE;
 
 private:
   vtkParametricCatalanMinimal(const vtkParametricCatalanMinimal&) VTK_DELETE_FUNCTION;
diff --git a/Common/ComputationalGeometry/vtkParametricConicSpiral.h b/Common/ComputationalGeometry/vtkParametricConicSpiral.h
index 00bf58e50d6..8fba95e917c 100644
--- a/Common/ComputationalGeometry/vtkParametricConicSpiral.h
+++ b/Common/ComputationalGeometry/vtkParametricConicSpiral.h
@@ -50,7 +50,7 @@ public:
 
   // Description
   // Return the parametric dimension of the class.
-  virtual int GetDimension() {return 2;}
+  int GetDimension() VTK_OVERRIDE {return 2;}
 
    // Description:
   // Set/Get the scale factor.
@@ -86,7 +86,7 @@ public:
   // as Pt. It also returns the partial derivatives Du and Dv.
   // \f$Pt = (x, y, z), Du = (dx/du, dy/du, dz/du), Dv = (dx/dv, dy/dv, dz/dv)\f$ .
   // Then the normal is \f$N = Du X Dv\f$ .
-  virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]);
+  void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
   // Description:
   // Calculate a user defined scalar using one or all of uvw, Pt, Duvw.
@@ -100,11 +100,11 @@ public:
   //
   // If the user does not need to calculate a scalar, then the
   // instantiated function should return zero.
-  virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]);
+  double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
 protected:
   vtkParametricConicSpiral();
-  ~vtkParametricConicSpiral();
+  ~vtkParametricConicSpiral() VTK_OVERRIDE;
 
   // Variables
   double A;
diff --git a/Common/ComputationalGeometry/vtkParametricCrossCap.h b/Common/ComputationalGeometry/vtkParametricCrossCap.h
index d024127bf41..f80e5507594 100644
--- a/Common/ComputationalGeometry/vtkParametricCrossCap.h
+++ b/Common/ComputationalGeometry/vtkParametricCrossCap.h
@@ -51,7 +51,7 @@ public:
 
   // Description
   // Return the parametric dimension of the class.
-  virtual int GetDimension() {return 2;}
+  int GetDimension() VTK_OVERRIDE {return 2;}
 
   // Description:
   // A cross-cap.
@@ -60,7 +60,7 @@ public:
   // as Pt. It also returns the partial derivatives Du and Dv.
   // \f$Pt = (x, y, z), Du = (dx/du, dy/du, dz/du), Dv = (dx/dv, dy/dv, dz/dv)\f$ .
   // Then the normal is \f$N = Du X Dv\f$ .
-  virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]);
+  void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
   // Description:
   // Calculate a user defined scalar using one or all of uvw, Pt, Duvw.
@@ -75,11 +75,11 @@ public:
   // If the user does not need to calculate a scalar, then the
   // instantiated function should return zero.
   //
-  virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]);
+  double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
 protected:
   vtkParametricCrossCap();
-  ~vtkParametricCrossCap();
+  ~vtkParametricCrossCap() VTK_OVERRIDE;
 
 private:
   vtkParametricCrossCap(const vtkParametricCrossCap&) VTK_DELETE_FUNCTION;
diff --git a/Common/ComputationalGeometry/vtkParametricDini.h b/Common/ComputationalGeometry/vtkParametricDini.h
index 13b14ef4ca4..79adf5ac673 100644
--- a/Common/ComputationalGeometry/vtkParametricDini.h
+++ b/Common/ComputationalGeometry/vtkParametricDini.h
@@ -52,7 +52,7 @@ public:
 
   // Description
   // Return the parametric dimension of the class.
-  virtual int GetDimension() {return 2;}
+  int GetDimension() VTK_OVERRIDE {return 2;}
 
   // Description:
   // Set/Get the scale factor.
@@ -75,7 +75,7 @@ public:
   // as Pt. It also returns the partial derivatives Du and Dv.
   // \f$Pt = (x, y, z), Du = (dx/du, dy/du, dz/du), Dv = (dx/dv, dy/dv, dz/dv)\f$ .
   // Then the normal is \f$N = Du X Dv\f$ .
-  virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]);
+  void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
   // Description:
   // Calculate a user defined scalar using one or all of uvw, Pt, Duvw.
@@ -90,11 +90,11 @@ public:
   // If the user does not need to calculate a scalar, then the
   // instantiated function should return zero.
   //
-  virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]);
+  double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
 protected:
   vtkParametricDini();
-  ~vtkParametricDini();
+  ~vtkParametricDini() VTK_OVERRIDE;
 
   // Variables
   double A;
diff --git a/Common/ComputationalGeometry/vtkParametricEllipsoid.h b/Common/ComputationalGeometry/vtkParametricEllipsoid.h
index 4f8f34a92a4..9541f885bee 100644
--- a/Common/ComputationalGeometry/vtkParametricEllipsoid.h
+++ b/Common/ComputationalGeometry/vtkParametricEllipsoid.h
@@ -55,7 +55,7 @@ public:
 
   // Description
   // Return the parametric dimension of the class.
-  virtual int GetDimension() {return 2;}
+  int GetDimension() VTK_OVERRIDE {return 2;}
 
   // Description:
   // Set/Get the scaling factor for the x-axis. Default is 1.
@@ -79,7 +79,7 @@ public:
   // as Pt. It also returns the partial derivatives Du and Dv.
   // \f$Pt = (x, y, z), Du = (dx/du, dy/du, dz/du), Dv = (dx/dv, dy/dv, dz/dv)\f$ .
   // Then the normal is \f$N = Du X Dv\f$ .
-  virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]);
+  void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
   // Description:
   // Calculate a user defined scalar using one or all of uvw, Pt, Duvw.
@@ -94,11 +94,11 @@ public:
   // If the user does not need to calculate a scalar, then the
   // instantiated function should return zero.
   //
-  virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]);
+  double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
 protected:
   vtkParametricEllipsoid();
-  ~vtkParametricEllipsoid();
+  ~vtkParametricEllipsoid() VTK_OVERRIDE;
 
   // Variables
   double XRadius;
diff --git a/Common/ComputationalGeometry/vtkParametricEnneper.h b/Common/ComputationalGeometry/vtkParametricEnneper.h
index 78eaa6c7f5d..2feb990e971 100644
--- a/Common/ComputationalGeometry/vtkParametricEnneper.h
+++ b/Common/ComputationalGeometry/vtkParametricEnneper.h
@@ -51,7 +51,7 @@ public:
 
   // Description
   // Return the parametric dimension of the class.
-  virtual int GetDimension() {return 2;}
+  int GetDimension() VTK_OVERRIDE {return 2;}
 
   // Description:
   // Enneper's surface.
@@ -60,7 +60,7 @@ public:
   // as Pt. It also returns the partial derivatives Du and Dv.
   // \f$Pt = (x, y, z), Du = (dx/du, dy/du, dz/du), Dv = (dx/dv, dy/dv, dz/dv)\f$ .
   // Then the normal is \f$N = Du X Dv\f$ .
-  virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]);
+  void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
   // Description:
   // Calculate a user defined scalar using one or all of uvw, Pt, Duvw.
@@ -75,11 +75,11 @@ public:
   // If the user does not need to calculate a scalar, then the
   // instantiated function should return zero.
   //
-  virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]);
+  double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
 protected:
   vtkParametricEnneper();
-  ~vtkParametricEnneper();
+  ~vtkParametricEnneper() VTK_OVERRIDE;
 
 private:
   vtkParametricEnneper(const vtkParametricEnneper&) VTK_DELETE_FUNCTION;
diff --git a/Common/ComputationalGeometry/vtkParametricFigure8Klein.h b/Common/ComputationalGeometry/vtkParametricFigure8Klein.h
index 238c16159cf..be5e80a30d4 100644
--- a/Common/ComputationalGeometry/vtkParametricFigure8Klein.h
+++ b/Common/ComputationalGeometry/vtkParametricFigure8Klein.h
@@ -63,7 +63,7 @@ public:
 
   // Description
   // Return the parametric dimension of the class.
-  virtual int GetDimension() {return 2;}
+  int GetDimension() VTK_OVERRIDE {return 2;}
 
   // Description:
   // A Figure-8 Klein bottle.
@@ -72,7 +72,7 @@ public:
   // as Pt. It also returns the partial derivatives Du and Dv.
   // \f$Pt = (x, y, z), Du = (dx/du, dy/du, dz/du), Dv = (dx/dv, dy/dv, dz/dv)\f$ .
   // Then the normal is \f$N = Du X Dv\f$ .
-  virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]);
+  void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
   // Description:
   // Calculate a user defined scalar using one or all of uvw, Pt, Duvw.
@@ -87,11 +87,11 @@ public:
   // If the user does not need to calculate a scalar, then the
   // instantiated function should return zero.
   //
-  virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]);
+  double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
 protected:
   vtkParametricFigure8Klein();
-  ~vtkParametricFigure8Klein();
+  ~vtkParametricFigure8Klein() VTK_OVERRIDE;
 
   // Variables
   double Radius;
diff --git a/Common/ComputationalGeometry/vtkParametricFunction.h b/Common/ComputationalGeometry/vtkParametricFunction.h
index fc36ca11987..7e60dc779ab 100644
--- a/Common/ComputationalGeometry/vtkParametricFunction.h
+++ b/Common/ComputationalGeometry/vtkParametricFunction.h
@@ -188,7 +188,7 @@ public:
 
 protected:
   vtkParametricFunction();
-  virtual ~vtkParametricFunction();
+  ~vtkParametricFunction() VTK_OVERRIDE;
 
   // Variables
   double MinimumU;
diff --git a/Common/ComputationalGeometry/vtkParametricHenneberg.h b/Common/ComputationalGeometry/vtkParametricHenneberg.h
index 6de0a4cec57..0a5e3f085f5 100644
--- a/Common/ComputationalGeometry/vtkParametricHenneberg.h
+++ b/Common/ComputationalGeometry/vtkParametricHenneberg.h
@@ -45,7 +45,7 @@ public:
 
   // Description
   // Return the parametric dimension of the class.
-  virtual int GetDimension() {return 2;}
+  int GetDimension() VTK_OVERRIDE {return 2;}
 
   // Description:
   // Henneberg's minimal surface.
@@ -54,16 +54,16 @@ public:
   // as Pt. It also returns the partial derivatives Du and Dv.
   // \f$Pt = (x, y, z), D_u\vec{f} = (dx/du, dy/du, dz/du), D_v\vec{f} = (dx/dv, dy/dv, dz/dv)\f$ .
   // Then the normal is \f$N = D_u\vec{f} \times D_v\vec{f}\f$ .
-  virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]);
+  void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
   // Description:
   // Calculate a user defined scalar using one or all of uvw, Pt, Duvw.
   // This method simply returns 0.
-  virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]);
+  double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
 protected:
   vtkParametricHenneberg();
-  ~vtkParametricHenneberg();
+  ~vtkParametricHenneberg() VTK_OVERRIDE;
 
 private:
   vtkParametricHenneberg(const vtkParametricHenneberg&) VTK_DELETE_FUNCTION;
diff --git a/Common/ComputationalGeometry/vtkParametricKlein.h b/Common/ComputationalGeometry/vtkParametricKlein.h
index b7428ac5aa6..fd6ba7d29fb 100644
--- a/Common/ComputationalGeometry/vtkParametricKlein.h
+++ b/Common/ComputationalGeometry/vtkParametricKlein.h
@@ -57,7 +57,7 @@ public:
 
   // Description
   // Return the parametric dimension of the class.
-  virtual int GetDimension() {return 2;}
+  int GetDimension() VTK_OVERRIDE {return 2;}
 
   // Description:
   // A Klein bottle.
@@ -66,7 +66,7 @@ public:
   // as Pt. It also returns the partial derivatives Du and Dv.
   // \f$Pt = (x, y, z), Du = (dx/du, dy/du, dz/du), Dv = (dx/dv, dy/dv, dz/dv)\f$ .
   // Then the normal is \f$N = Du X Dv\f$ .
-  virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]);
+  void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
   // Description:
   // Calculate a user defined scalar using one or all of uvw, Pt, Duvw.
@@ -81,11 +81,11 @@ public:
   // If the user does not need to calculate a scalar, then the
   // instantiated function should return zero.
   //
-  virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]);
+  double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
 protected:
   vtkParametricKlein();
-  ~vtkParametricKlein();
+  ~vtkParametricKlein() VTK_OVERRIDE;
 
 private:
   vtkParametricKlein(const vtkParametricKlein&) VTK_DELETE_FUNCTION;
diff --git a/Common/ComputationalGeometry/vtkParametricKuen.h b/Common/ComputationalGeometry/vtkParametricKuen.h
index 92ad489e5bc..363dbaa8f77 100644
--- a/Common/ComputationalGeometry/vtkParametricKuen.h
+++ b/Common/ComputationalGeometry/vtkParametricKuen.h
@@ -46,7 +46,7 @@ public:
 
   // Description
   // Return the parametric dimension of the class.
-  virtual int GetDimension() {return 2;}
+  int GetDimension() VTK_OVERRIDE {return 2;}
 
   // Description:
   // Kuen's surface.
@@ -55,16 +55,16 @@ public:
   // as Pt. It also returns the partial derivatives Du and Dv.
   // \f$Pt = (x, y, z), D_u\vec{f} = (dx/du, dy/du, dz/du), D_v\vec{f} = (dx/dv, dy/dv, dz/dv)\f$ .
   // Then the normal is \f$N = D_u\vec{f} \times D_v\vec{f}\f$ .
-  virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]);
+  void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
   // Description:
   // Calculate a user defined scalar using one or all of uvw, Pt, Duvw.
   // This method simply returns 0.
-  virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]);
+  double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
 protected:
   vtkParametricKuen();
-  ~vtkParametricKuen();
+  ~vtkParametricKuen() VTK_OVERRIDE;
 
 private:
   vtkParametricKuen(const vtkParametricKuen&) VTK_DELETE_FUNCTION;
diff --git a/Common/ComputationalGeometry/vtkParametricMobius.h b/Common/ComputationalGeometry/vtkParametricMobius.h
index 63e279f168e..ad1a40d7e91 100644
--- a/Common/ComputationalGeometry/vtkParametricMobius.h
+++ b/Common/ComputationalGeometry/vtkParametricMobius.h
@@ -54,7 +54,7 @@ public:
 
   // Description
   // Return the parametric dimension of the class.
-  virtual int GetDimension() {return 2;}
+  int GetDimension() VTK_OVERRIDE {return 2;}
 
   // Description:
   // The Mobius strip.
@@ -63,7 +63,7 @@ public:
   // as Pt. It also returns the partial derivatives Du and Dv.
   // \f$Pt = (x, y, z), Du = (dx/du, dy/du, dz/du), Dv = (dx/dv, dy/dv, dz/dv)\f$ .
   // Then the normal is \f$N = Du X Dv\f$ .
-  virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]);
+  void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
   // Description:
   // Calculate a user defined scalar using one or all of uvw, Pt, Duvw.
@@ -78,11 +78,11 @@ public:
   // If the user does not need to calculate a scalar, then the
   // instantiated function should return zero.
   //
-  virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]);
+  double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
 protected:
   vtkParametricMobius();
-  ~vtkParametricMobius();
+  ~vtkParametricMobius() VTK_OVERRIDE;
 
   // Variables
   double Radius;
diff --git a/Common/ComputationalGeometry/vtkParametricPluckerConoid.h b/Common/ComputationalGeometry/vtkParametricPluckerConoid.h
index 875fee5c061..842088f981d 100644
--- a/Common/ComputationalGeometry/vtkParametricPluckerConoid.h
+++ b/Common/ComputationalGeometry/vtkParametricPluckerConoid.h
@@ -56,7 +56,7 @@ public:
 
   // Description
   // Return the parametric dimension of the class.
-  virtual int GetDimension() {return 2;}
+  int GetDimension() VTK_OVERRIDE {return 2;}
 
   // Description:
   // Plucker's conoid surface.
@@ -65,16 +65,16 @@ public:
   // as Pt. It also returns the partial derivatives Du and Dv.
   // \f$Pt = (x, y, z), D_u\vec{f} = (dx/du, dy/du, dz/du), D_v\vec{f} = (dx/dv, dy/dv, dz/dv)\f$ .
   // Then the normal is \f$N = D_u\vec{f} \times D_v\vec{f}\f$ .
-  virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]);
+  void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
   // Description:
   // Calculate a user defined scalar using one or all of uvw, Pt, Duvw.
   // This method simply returns 0.
-  virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]);
+  double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
 protected:
   vtkParametricPluckerConoid();
-  ~vtkParametricPluckerConoid();
+  ~vtkParametricPluckerConoid() VTK_OVERRIDE;
 
   // Variables
   int N;
diff --git a/Common/ComputationalGeometry/vtkParametricPseudosphere.h b/Common/ComputationalGeometry/vtkParametricPseudosphere.h
index 5b351ad6e29..925bfe997f0 100644
--- a/Common/ComputationalGeometry/vtkParametricPseudosphere.h
+++ b/Common/ComputationalGeometry/vtkParametricPseudosphere.h
@@ -47,7 +47,7 @@ public:
 
   // Description
   // Return the parametric dimension of the class.
-  virtual int GetDimension() {return 2;}
+  int GetDimension() VTK_OVERRIDE {return 2;}
 
   // Description:
   // Pseudosphere surface.
@@ -56,16 +56,16 @@ public:
   // as Pt. It also returns the partial derivatives Du and Dv.
   // \f$Pt = (x, y, z), D_u\vec{f} = (dx/du, dy/du, dz/du), D_v\vec{f} = (dx/dv, dy/dv, dz/dv)\f$ .
   // Then the normal is \f$N = D_u\vec{f} \times D_v\vec{f}\f$ .
-  virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]);
+  void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
   // Description:
   // Calculate a user defined scalar using one or all of uvw, Pt, Duvw.
   // This method simply returns 0.
-  virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]);
+  double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
 protected:
   vtkParametricPseudosphere();
-  ~vtkParametricPseudosphere();
+  ~vtkParametricPseudosphere() VTK_OVERRIDE;
 
 private:
   vtkParametricPseudosphere(const vtkParametricPseudosphere&) VTK_DELETE_FUNCTION;
diff --git a/Common/ComputationalGeometry/vtkParametricRandomHills.h b/Common/ComputationalGeometry/vtkParametricRandomHills.h
index 2dfba965c3e..e5dffd4fb9c 100644
--- a/Common/ComputationalGeometry/vtkParametricRandomHills.h
+++ b/Common/ComputationalGeometry/vtkParametricRandomHills.h
@@ -46,7 +46,7 @@ public:
 
   // Description
   // Return the parametric dimension of the class.
-  virtual int GetDimension() {return 2;}
+  int GetDimension() VTK_OVERRIDE {return 2;}
 
   // Description:
   // Construct a surface of random hills with the following parameters:
@@ -138,7 +138,7 @@ public:
   // as Pt. It also returns the partial derivatives Du and Dv.
   // \f$Pt = (x, y, z), Du = (dx/du, dy/du, dz/du), Dv = (dx/dv, dy/dv, dz/dv)\f$ .
   // Then the normal is \f$N = Du X Dv\f$ .
-  virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]);
+  void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
   // Description:
   // Calculate a user defined scalar using one or all of uvw, Pt, Duvw.
@@ -153,11 +153,11 @@ public:
   // If the user does not need to calculate a scalar, then the
   // instantiated function should return zero.
   //
-  virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]);
+  double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
 protected:
   vtkParametricRandomHills();
-  ~vtkParametricRandomHills();
+  ~vtkParametricRandomHills() VTK_OVERRIDE;
 
   // Variables
   int NumberOfHills;
diff --git a/Common/ComputationalGeometry/vtkParametricRoman.h b/Common/ComputationalGeometry/vtkParametricRoman.h
index 722fcb6930b..bf2d671394b 100644
--- a/Common/ComputationalGeometry/vtkParametricRoman.h
+++ b/Common/ComputationalGeometry/vtkParametricRoman.h
@@ -39,7 +39,7 @@ public:
 
   // Description
   // Return the parametric dimension of the class.
-  virtual int GetDimension() {return 2;}
+  int GetDimension() VTK_OVERRIDE {return 2;}
 
   // Description:
   // Construct Steiner's Roman Surface with the following parameters:
@@ -64,7 +64,7 @@ public:
   // as Pt. It also returns the partial derivatives Du and Dv.
   // \f$Pt = (x, y, z), Du = (dx/du, dy/du, dz/du), Dv = (dx/dv, dy/dv, dz/dv)\f$ .
   // Then the normal is \f$N = Du X Dv\f$ .
-  virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]);
+  void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
   // Description:
   // Calculate a user defined scalar using one or all of uvw, Pt, Duvw.
@@ -79,12 +79,12 @@ public:
   // If the user does not need to calculate a scalar, then the
   // instantiated function should return zero.
   //
-  virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]);
+  double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
 
 protected:
   vtkParametricRoman();
-  ~vtkParametricRoman();
+  ~vtkParametricRoman() VTK_OVERRIDE;
 
   // Variables
   double Radius;
diff --git a/Common/ComputationalGeometry/vtkParametricSpline.h b/Common/ComputationalGeometry/vtkParametricSpline.h
index 959b13dcb95..9458876207d 100644
--- a/Common/ComputationalGeometry/vtkParametricSpline.h
+++ b/Common/ComputationalGeometry/vtkParametricSpline.h
@@ -56,17 +56,17 @@ public:
 
   // Description
   // Return the parametric dimension of the class.
-  virtual int GetDimension() {return 1;}
+  int GetDimension() VTK_OVERRIDE {return 1;}
 
   // Description:
   // Evaluate the spline at parametric coordinate u[0] returning
   // the point coordinate Pt[3].
-  virtual void Evaluate(double u[3], double Pt[3], double Du[9]);
+  void Evaluate(double u[3], double Pt[3], double Du[9]) VTK_OVERRIDE;
 
   // Description:
   // Evaluate a scalar value at parametric coordinate u[0] and Pt[3].
   // The scalar value is just the parameter u[0].
-  virtual double EvaluateScalar(double u[3], double Pt[3], double Du[9]);
+  double EvaluateScalar(double u[3], double Pt[3], double Du[9]) VTK_OVERRIDE;
 
   // Description:
   // By default, this class is constructed with three instances of
@@ -138,7 +138,7 @@ public:
 
 protected:
   vtkParametricSpline();
-  ~vtkParametricSpline();
+  ~vtkParametricSpline() VTK_OVERRIDE;
 
   // Points definition
   vtkPoints *Points;
diff --git a/Common/ComputationalGeometry/vtkParametricSuperEllipsoid.h b/Common/ComputationalGeometry/vtkParametricSuperEllipsoid.h
index 4f071a811b6..decf937a3e6 100644
--- a/Common/ComputationalGeometry/vtkParametricSuperEllipsoid.h
+++ b/Common/ComputationalGeometry/vtkParametricSuperEllipsoid.h
@@ -59,7 +59,7 @@ public:
 
   // Description
   // Return the parametric dimension of the class.
-  virtual int GetDimension() {return 2;}
+  int GetDimension() VTK_OVERRIDE {return 2;}
 
   // Description:
   // Set/Get the scaling factor for the x-axis. Default is 1.
@@ -93,7 +93,7 @@ public:
   // as Pt. It also returns the partial derivatives Du and Dv.
   // \f$Pt = (x, y, z), Du = (dx/du, dy/du, dz/du), Dv = (dx/dv, dy/dv, dz/dv)\f$ .
   // Then the normal is \f$N = Du X Dv\f$ .
-  virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]);
+  void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
   // Description:
   // Calculate a user defined scalar using one or all of uvw, Pt, Duvw.
@@ -108,11 +108,11 @@ public:
   // If the user does not need to calculate a scalar, then the
   // instantiated function should return zero.
   //
-  virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]);
+  double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
 protected:
   vtkParametricSuperEllipsoid();
-  ~vtkParametricSuperEllipsoid();
+  ~vtkParametricSuperEllipsoid() VTK_OVERRIDE;
 
   // Variables
   double XRadius;
diff --git a/Common/ComputationalGeometry/vtkParametricSuperToroid.h b/Common/ComputationalGeometry/vtkParametricSuperToroid.h
index c6c70017d0a..d6ecce7ca08 100644
--- a/Common/ComputationalGeometry/vtkParametricSuperToroid.h
+++ b/Common/ComputationalGeometry/vtkParametricSuperToroid.h
@@ -64,7 +64,7 @@ public:
 
   // Description
   // Return the parametric dimension of the class.
-  virtual int GetDimension() {return 2;}
+  int GetDimension() VTK_OVERRIDE {return 2;}
 
   // Description:
   // Set/Get the radius from the center to the middle of the ring of the
@@ -110,7 +110,7 @@ public:
   // as Pt. It also returns the partial derivatives Du and Dv.
   // \f$Pt = (x, y, z), Du = (dx/du, dy/du, dz/du), Dv = (dx/dv, dy/dv, dz/dv)\f$ .
   // Then the normal is \f$N = Du X Dv\f$ .
-  virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]);
+  void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
   // Description:
   // Calculate a user defined scalar using one or all of uvw, Pt, Duvw.
@@ -125,11 +125,11 @@ public:
   // If the user does not need to calculate a scalar, then the
   // instantiated function should return zero.
   //
-  virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]);
+  double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
 protected:
   vtkParametricSuperToroid();
-  ~vtkParametricSuperToroid();
+  ~vtkParametricSuperToroid() VTK_OVERRIDE;
 
   // Variables
   double RingRadius;
diff --git a/Common/ComputationalGeometry/vtkParametricTorus.h b/Common/ComputationalGeometry/vtkParametricTorus.h
index bb8fca5199c..046f0695486 100644
--- a/Common/ComputationalGeometry/vtkParametricTorus.h
+++ b/Common/ComputationalGeometry/vtkParametricTorus.h
@@ -61,7 +61,7 @@ public:
 
   // Description
   // Return the parametric dimension of the class.
-  virtual int GetDimension() {return 2;}
+  int GetDimension() VTK_OVERRIDE {return 2;}
 
   // Description:
   // A torus.
@@ -70,7 +70,7 @@ public:
   // as Pt. It also returns the partial derivatives Du and Dv.
   // \f$Pt = (x, y, z), Du = (dx/du, dy/du, dz/du), Dv = (dx/dv, dy/dv, dz/dv)\f$.
   // Then the normal is \f$N = Du X Dv\f$.
-  virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]);
+  void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
   // Description:
   // Calculate a user defined scalar using one or all of uvw, Pt, Duvw.
@@ -85,11 +85,11 @@ public:
   // If the user does not need to calculate a scalar, then the
   // instantiated function should return zero.
   //
-  virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]);
+  double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) VTK_OVERRIDE;
 
 protected:
   vtkParametricTorus();
-  ~vtkParametricTorus();
+  ~vtkParametricTorus() VTK_OVERRIDE;
 
   // Variables
   double RingRadius;
diff --git a/Common/Core/vtkAOSDataArrayTemplate.h b/Common/Core/vtkAOSDataArrayTemplate.h
index 0f9707ae74a..62dcc743ffe 100644
--- a/Common/Core/vtkAOSDataArrayTemplate.h
+++ b/Common/Core/vtkAOSDataArrayTemplate.h
@@ -200,7 +200,7 @@ public:
 
 protected:
   vtkAOSDataArrayTemplate();
-  ~vtkAOSDataArrayTemplate();
+  ~vtkAOSDataArrayTemplate() VTK_OVERRIDE;
 
   // Description:
   // Allocate space for numTuples. Old data is not preserved. If numTuples == 0,
diff --git a/Common/Core/vtkAbstractArray.h b/Common/Core/vtkAbstractArray.h
index 68e7844ae09..44188ff6ec2 100644
--- a/Common/Core/vtkAbstractArray.h
+++ b/Common/Core/vtkAbstractArray.h
@@ -550,7 +550,7 @@ public:
 protected:
   // Construct object with default tuple dimension (number of components) of 1.
   vtkAbstractArray();
-  ~vtkAbstractArray();
+  ~vtkAbstractArray() VTK_OVERRIDE;
 
   // Description:
   // Set an information object that can be used to annotate the array.
diff --git a/Common/Core/vtkAnimationCue.h b/Common/Core/vtkAnimationCue.h
index 0666883bddf..2d42f9c9f58 100644
--- a/Common/Core/vtkAnimationCue.h
+++ b/Common/Core/vtkAnimationCue.h
@@ -155,7 +155,7 @@ public:
 
 protected:
   vtkAnimationCue();
-  ~vtkAnimationCue();
+  ~vtkAnimationCue() VTK_OVERRIDE;
 
   enum {
     UNINITIALIZED=0,
diff --git a/Common/Core/vtkArray.h b/Common/Core/vtkArray.h
index 8d0391c6cb5..481a0d2f75f 100644
--- a/Common/Core/vtkArray.h
+++ b/Common/Core/vtkArray.h
@@ -210,7 +210,7 @@ public:
 
 protected:
   vtkArray();
-  ~vtkArray();
+  ~vtkArray() VTK_OVERRIDE;
 
 private:
   vtkArray(const vtkArray&) VTK_DELETE_FUNCTION;
diff --git a/Common/Core/vtkArrayIterator.h b/Common/Core/vtkArrayIterator.h
index a81a3c3f756..5f12b15afcd 100644
--- a/Common/Core/vtkArrayIterator.h
+++ b/Common/Core/vtkArrayIterator.h
@@ -63,7 +63,7 @@ public:
   virtual int GetDataType()=0;
 protected:
   vtkArrayIterator();
-  ~vtkArrayIterator();
+  ~vtkArrayIterator() VTK_OVERRIDE;
 
 private:
   vtkArrayIterator(const vtkArrayIterator&) VTK_DELETE_FUNCTION;
diff --git a/Common/Core/vtkArrayIteratorTemplate.h b/Common/Core/vtkArrayIteratorTemplate.h
index bed2a41190b..35f35a7e369 100644
--- a/Common/Core/vtkArrayIteratorTemplate.h
+++ b/Common/Core/vtkArrayIteratorTemplate.h
@@ -94,7 +94,7 @@ public:
   typedef T ValueType;
 protected:
   vtkArrayIteratorTemplate();
-  ~vtkArrayIteratorTemplate();
+  ~vtkArrayIteratorTemplate() VTK_OVERRIDE;
 
   T* Pointer;
 private:
diff --git a/Common/Core/vtkBitArray.h b/Common/Core/vtkBitArray.h
index b7f87b187e9..f25c9f4c7a4 100644
--- a/Common/Core/vtkBitArray.h
+++ b/Common/Core/vtkBitArray.h
@@ -56,34 +56,34 @@ public:
   // This method assumes that the two arrays have the same type
   // and structure. Note that range checking and memory allocation is not
   // performed; use in conjunction with SetNumberOfTuples() to allocate space.
-  virtual void SetTuple(vtkIdType i, vtkIdType j,
+  void SetTuple(vtkIdType i, vtkIdType j,
                         vtkAbstractArray* source) VTK_OVERRIDE;
 
   // Description:
   // Insert the jth tuple in the source array, at ith location in this array.
   // Note that memory allocation is performed as necessary to hold the data.
-  virtual void InsertTuple(vtkIdType i, vtkIdType j,
+  void InsertTuple(vtkIdType i, vtkIdType j,
                            vtkAbstractArray* source) VTK_OVERRIDE;
 
   // Description:
   // Copy the tuples indexed in srcIds from the source array to the tuple
   // locations indexed by dstIds in this array.
   // Note that memory allocation is performed as necessary to hold the data.
-  virtual void InsertTuples(vtkIdList *dstIds, vtkIdList *srcIds,
+  void InsertTuples(vtkIdList *dstIds, vtkIdList *srcIds,
                             vtkAbstractArray *source) VTK_OVERRIDE;
 
   // Description:
   // Copy n consecutive tuples starting at srcStart from the source array to
   // this array, starting at the dstStart location.
   // Note that memory allocation is performed as necessary to hold the data.
-  virtual void InsertTuples(vtkIdType dstStart, vtkIdType n, vtkIdType srcStart,
+  void InsertTuples(vtkIdType dstStart, vtkIdType n, vtkIdType srcStart,
                             vtkAbstractArray* source) VTK_OVERRIDE;
 
   // Description:
   // Insert the jth tuple in the source array, at the end in this array.
   // Note that memory allocation is performed as necessary to hold the data.
   // Returns the location at which the data was inserted.
-  virtual vtkIdType InsertNextTuple(vtkIdType j,
+  vtkIdType InsertNextTuple(vtkIdType j,
                                     vtkAbstractArray* source) VTK_OVERRIDE;
 
   // Description:
@@ -115,9 +115,9 @@ public:
   // These methods remove tuples from the data array. They shift data and
   // resize array, so the data array is still valid after this operation. Note,
   // this operation is fairly slow.
-  virtual void RemoveTuple(vtkIdType id) VTK_OVERRIDE;
-  virtual void RemoveFirstTuple() VTK_OVERRIDE;
-  virtual void RemoveLastTuple() VTK_OVERRIDE;
+  void RemoveTuple(vtkIdType id) VTK_OVERRIDE;
+  void RemoveFirstTuple() VTK_OVERRIDE;
+  void RemoveLastTuple() VTK_OVERRIDE;
 
   // Description:
   // Set the data component at the ith tuple and jth component location.
@@ -246,7 +246,7 @@ public:
 
 protected:
   vtkBitArray();
-  ~vtkBitArray();
+  ~vtkBitArray() VTK_OVERRIDE;
 
   unsigned char *Array;   // pointer to data
   unsigned char *ResizeAndExtend(vtkIdType sz);
diff --git a/Common/Core/vtkBitArrayIterator.h b/Common/Core/vtkBitArrayIterator.h
index a24295aaf12..cc97c132128 100644
--- a/Common/Core/vtkBitArrayIterator.h
+++ b/Common/Core/vtkBitArrayIterator.h
@@ -81,7 +81,7 @@ public:
 
 protected:
   vtkBitArrayIterator();
-  ~vtkBitArrayIterator();
+  ~vtkBitArrayIterator() VTK_OVERRIDE;
 
   int *Tuple;
   int TupleSize;
diff --git a/Common/Core/vtkBoxMuellerRandomSequence.h b/Common/Core/vtkBoxMuellerRandomSequence.h
index d6d6fabff45..6b0143c1a3a 100644
--- a/Common/Core/vtkBoxMuellerRandomSequence.h
+++ b/Common/Core/vtkBoxMuellerRandomSequence.h
@@ -53,7 +53,7 @@ public:
 
 protected:
   vtkBoxMuellerRandomSequence();
-  virtual ~vtkBoxMuellerRandomSequence();
+  ~vtkBoxMuellerRandomSequence() VTK_OVERRIDE;
 
   vtkRandomSequence *UniformSequence;
   double Value;
diff --git a/Common/Core/vtkBuffer.h b/Common/Core/vtkBuffer.h
index 6ee330a5d4c..87f803412b8 100644
--- a/Common/Core/vtkBuffer.h
+++ b/Common/Core/vtkBuffer.h
@@ -75,7 +75,7 @@ protected:
   {
   }
 
-  ~vtkBuffer()
+  ~vtkBuffer() VTK_OVERRIDE
   {
     this->SetBuffer(NULL, 0);
   }
diff --git a/Common/Core/vtkByteSwap.h b/Common/Core/vtkByteSwap.h
index dd440961c61..cb213e75582 100644
--- a/Common/Core/vtkByteSwap.h
+++ b/Common/Core/vtkByteSwap.h
@@ -108,7 +108,7 @@ public:
 
 protected:
   vtkByteSwap();
-  ~vtkByteSwap();
+  ~vtkByteSwap() VTK_OVERRIDE;
 
 private:
   vtkByteSwap(const vtkByteSwap&) VTK_DELETE_FUNCTION;
diff --git a/Common/Core/vtkCallbackCommand.h b/Common/Core/vtkCallbackCommand.h
index fff7d5981cb..2b48a8c7f33 100644
--- a/Common/Core/vtkCallbackCommand.h
+++ b/Common/Core/vtkCallbackCommand.h
@@ -90,7 +90,7 @@ protected:
   void *ClientData;
 
   vtkCallbackCommand();
-  ~vtkCallbackCommand();
+  ~vtkCallbackCommand() VTK_OVERRIDE;
 };
 
 #endif
diff --git a/Common/Core/vtkCharArray.h b/Common/Core/vtkCharArray.h
index b2975819eb6..1d4427fd629 100644
--- a/Common/Core/vtkCharArray.h
+++ b/Common/Core/vtkCharArray.h
@@ -63,7 +63,7 @@ public:
 
 protected:
   vtkCharArray();
-  ~vtkCharArray();
+  ~vtkCharArray() VTK_OVERRIDE;
 
 private:
 
diff --git a/Common/Core/vtkCollection.h b/Common/Core/vtkCollection.h
index 5aae87adbac..3f3cd85adb3 100644
--- a/Common/Core/vtkCollection.h
+++ b/Common/Core/vtkCollection.h
@@ -129,7 +129,7 @@ public:
   void UnRegister(vtkObjectBase* o) VTK_OVERRIDE;
 protected:
   vtkCollection();
-  ~vtkCollection();
+  ~vtkCollection() VTK_OVERRIDE;
 
   virtual void RemoveElement(vtkCollectionElement *element,
                              vtkCollectionElement *previous);
diff --git a/Common/Core/vtkCollectionIterator.h b/Common/Core/vtkCollectionIterator.h
index bfe49ab1b2a..9a0dc788196 100644
--- a/Common/Core/vtkCollectionIterator.h
+++ b/Common/Core/vtkCollectionIterator.h
@@ -67,7 +67,7 @@ public:
 
 protected:
   vtkCollectionIterator();
-  ~vtkCollectionIterator();
+  ~vtkCollectionIterator() VTK_OVERRIDE;
 
   // The collection over which we are iterating.
   vtkCollection* Collection;
diff --git a/Common/Core/vtkCommand.h b/Common/Core/vtkCommand.h
index 4d3c382ae64..b8378b8e428 100644
--- a/Common/Core/vtkCommand.h
+++ b/Common/Core/vtkCommand.h
@@ -408,7 +408,7 @@ protected:
   int PassiveObserver;
 
   vtkCommand();
-  virtual ~vtkCommand() {}
+  ~vtkCommand() VTK_OVERRIDE {}
 
   friend class vtkSubjectHelper;
 
diff --git a/Common/Core/vtkCriticalSection.h b/Common/Core/vtkCriticalSection.h
index 2161a81f375..f71942fa01e 100644
--- a/Common/Core/vtkCriticalSection.h
+++ b/Common/Core/vtkCriticalSection.h
@@ -56,7 +56,7 @@ public:
 protected:
   vtkSimpleCriticalSection SimpleCriticalSection;
   vtkCriticalSection() {}
-  ~vtkCriticalSection() {}
+  ~vtkCriticalSection() VTK_OVERRIDE {}
 
 private:
   vtkCriticalSection(const vtkCriticalSection&) VTK_DELETE_FUNCTION;
diff --git a/Common/Core/vtkDataArray.h b/Common/Core/vtkDataArray.h
index 737cfde42e3..80a3b4d0cef 100644
--- a/Common/Core/vtkDataArray.h
+++ b/Common/Core/vtkDataArray.h
@@ -403,7 +403,7 @@ protected:
 
   // Construct object with default tuple dimension (number of components) of 1.
   vtkDataArray();
-  ~vtkDataArray();
+  ~vtkDataArray() VTK_OVERRIDE;
 
   vtkLookupTable *LookupTable;
   double Range[2];
diff --git a/Common/Core/vtkDataArrayCollection.h b/Common/Core/vtkDataArrayCollection.h
index 0a1ea3afe49..39dd1e9686b 100644
--- a/Common/Core/vtkDataArrayCollection.h
+++ b/Common/Core/vtkDataArrayCollection.h
@@ -56,7 +56,7 @@ public:
 
 protected:
   vtkDataArrayCollection() {}
-  ~vtkDataArrayCollection() {}
+  ~vtkDataArrayCollection() VTK_OVERRIDE {}
 
 
 private:
diff --git a/Common/Core/vtkDataArrayCollectionIterator.h b/Common/Core/vtkDataArrayCollectionIterator.h
index da97aa4d3a7..77b3c2bfdc6 100644
--- a/Common/Core/vtkDataArrayCollectionIterator.h
+++ b/Common/Core/vtkDataArrayCollectionIterator.h
@@ -46,7 +46,7 @@ public:
 
 protected:
   vtkDataArrayCollectionIterator();
-  ~vtkDataArrayCollectionIterator();
+  ~vtkDataArrayCollectionIterator() VTK_OVERRIDE;
 
 private:
   vtkDataArrayCollectionIterator(const vtkDataArrayCollectionIterator&) VTK_DELETE_FUNCTION;
diff --git a/Common/Core/vtkDataArraySelection.h b/Common/Core/vtkDataArraySelection.h
index 73b7a6db334..c34f0209cdf 100644
--- a/Common/Core/vtkDataArraySelection.h
+++ b/Common/Core/vtkDataArraySelection.h
@@ -129,7 +129,7 @@ public:
   void CopySelections(vtkDataArraySelection* selections);
 protected:
   vtkDataArraySelection();
-  ~vtkDataArraySelection();
+  ~vtkDataArraySelection() VTK_OVERRIDE;
 
   // Internal implementation details.
   vtkDataArraySelectionInternals* Internal;
diff --git a/Common/Core/vtkDebugLeaks.h b/Common/Core/vtkDebugLeaks.h
index 7cca6c94e87..8ecd9abd4a1 100644
--- a/Common/Core/vtkDebugLeaks.h
+++ b/Common/Core/vtkDebugLeaks.h
@@ -66,7 +66,7 @@ public:
 
 protected:
   vtkDebugLeaks(){}
-  virtual ~vtkDebugLeaks(){}
+  ~vtkDebugLeaks() VTK_OVERRIDE{}
 
   static int DisplayMessageBox(const char*);
 
diff --git a/Common/Core/vtkDenseArray.h b/Common/Core/vtkDenseArray.h
index b4d7fd09dcf..4b0e37814f0 100644
--- a/Common/Core/vtkDenseArray.h
+++ b/Common/Core/vtkDenseArray.h
@@ -102,8 +102,8 @@ public:
   {
   public:
     HeapMemoryBlock(const vtkArrayExtents& extents);
-    virtual ~HeapMemoryBlock();
-    virtual T* GetAddress();
+    ~HeapMemoryBlock() VTK_OVERRIDE;
+    T* GetAddress() VTK_OVERRIDE;
 
   private:
     T* Storage;
@@ -159,7 +159,7 @@ public:
 
 protected:
   vtkDenseArray();
-  ~vtkDenseArray();
+  ~vtkDenseArray() VTK_OVERRIDE;
 
 private:
   vtkDenseArray(const vtkDenseArray&) VTK_DELETE_FUNCTION;
diff --git a/Common/Core/vtkDoubleArray.h b/Common/Core/vtkDoubleArray.h
index 15c6671a84b..6408196bf0b 100644
--- a/Common/Core/vtkDoubleArray.h
+++ b/Common/Core/vtkDoubleArray.h
@@ -63,7 +63,7 @@ public:
 
 protected:
   vtkDoubleArray();
-  ~vtkDoubleArray();
+  ~vtkDoubleArray() VTK_OVERRIDE;
 
 private:
 
diff --git a/Common/Core/vtkDynamicLoader.h b/Common/Core/vtkDynamicLoader.h
index c055aa2478a..3e04c50e333 100644
--- a/Common/Core/vtkDynamicLoader.h
+++ b/Common/Core/vtkDynamicLoader.h
@@ -66,7 +66,7 @@ public:
 
 protected:
   vtkDynamicLoader() {}
-  ~vtkDynamicLoader() {}
+  ~vtkDynamicLoader() VTK_OVERRIDE {}
 
 private:
   vtkDynamicLoader(const vtkDynamicLoader&) VTK_DELETE_FUNCTION;
diff --git a/Common/Core/vtkEventForwarderCommand.h b/Common/Core/vtkEventForwarderCommand.h
index b19993491cd..baabcb2096d 100644
--- a/Common/Core/vtkEventForwarderCommand.h
+++ b/Common/Core/vtkEventForwarderCommand.h
@@ -58,7 +58,7 @@ protected:
   vtkObject *Target;
 
   vtkEventForwarderCommand();
-  ~vtkEventForwarderCommand() {}
+  ~vtkEventForwarderCommand() VTK_OVERRIDE {}
 };
 
 #endif /* vtkEventForwarderCommand_h */
diff --git a/Common/Core/vtkFileOutputWindow.h b/Common/Core/vtkFileOutputWindow.h
index c5b980df8a8..a926505ef42 100644
--- a/Common/Core/vtkFileOutputWindow.h
+++ b/Common/Core/vtkFileOutputWindow.h
@@ -62,7 +62,7 @@ public:
 
 protected:
   vtkFileOutputWindow();
-  virtual ~vtkFileOutputWindow();
+  ~vtkFileOutputWindow() VTK_OVERRIDE;
   void Initialize();
 
   char* FileName;
diff --git a/Common/Core/vtkFloatArray.h b/Common/Core/vtkFloatArray.h
index 891c46078a3..9903ab8aee9 100644
--- a/Common/Core/vtkFloatArray.h
+++ b/Common/Core/vtkFloatArray.h
@@ -65,7 +65,7 @@ public:
 
 protected:
   vtkFloatArray();
-  ~vtkFloatArray();
+  ~vtkFloatArray() VTK_OVERRIDE;
 
 private:
 
diff --git a/Common/Core/vtkGarbageCollector.h b/Common/Core/vtkGarbageCollector.h
index 9f81ad17b1e..41348b49eef 100644
--- a/Common/Core/vtkGarbageCollector.h
+++ b/Common/Core/vtkGarbageCollector.h
@@ -138,7 +138,7 @@ public:
 
 protected:
   vtkGarbageCollector();
-  ~vtkGarbageCollector();
+  ~vtkGarbageCollector() VTK_OVERRIDE;
 
 private:
 
diff --git a/Common/Core/vtkGaussianRandomSequence.h b/Common/Core/vtkGaussianRandomSequence.h
index aa7522eb3c3..6bee5fdcfd8 100644
--- a/Common/Core/vtkGaussianRandomSequence.h
+++ b/Common/Core/vtkGaussianRandomSequence.h
@@ -41,7 +41,7 @@ public:
 
 protected:
   vtkGaussianRandomSequence();
-  virtual ~vtkGaussianRandomSequence();
+  ~vtkGaussianRandomSequence() VTK_OVERRIDE;
 private:
   vtkGaussianRandomSequence(const vtkGaussianRandomSequence&) VTK_DELETE_FUNCTION;
   void operator=(const vtkGaussianRandomSequence&) VTK_DELETE_FUNCTION;
diff --git a/Common/Core/vtkIdList.h b/Common/Core/vtkIdList.h
index 20ca62895a7..3f7e836e370 100644
--- a/Common/Core/vtkIdList.h
+++ b/Common/Core/vtkIdList.h
@@ -126,7 +126,7 @@ public:
 
 protected:
   vtkIdList();
-  ~vtkIdList();
+  ~vtkIdList() VTK_OVERRIDE;
 
   vtkIdType NumberOfIds;
   vtkIdType Size;
diff --git a/Common/Core/vtkIdListCollection.h b/Common/Core/vtkIdListCollection.h
index 3c07ac11a77..ba8f5416c21 100644
--- a/Common/Core/vtkIdListCollection.h
+++ b/Common/Core/vtkIdListCollection.h
@@ -56,7 +56,7 @@ public:
 
 protected:
   vtkIdListCollection() {}
-  ~vtkIdListCollection() {}
+  ~vtkIdListCollection() VTK_OVERRIDE {}
 
 
 private:
diff --git a/Common/Core/vtkIdTypeArray.h b/Common/Core/vtkIdTypeArray.h
index 48c4740fc24..82d6f6fbc48 100644
--- a/Common/Core/vtkIdTypeArray.h
+++ b/Common/Core/vtkIdTypeArray.h
@@ -76,7 +76,7 @@ public:
 
 protected:
   vtkIdTypeArray();
-  ~vtkIdTypeArray();
+  ~vtkIdTypeArray() VTK_OVERRIDE;
 
 private:
 
diff --git a/Common/Core/vtkInformation.h b/Common/Core/vtkInformation.h
index e082945ac63..0d7729d8419 100644
--- a/Common/Core/vtkInformation.h
+++ b/Common/Core/vtkInformation.h
@@ -405,7 +405,7 @@ public:
 
 protected:
   VTKCOMMONCORE_EXPORT vtkInformation();
-  VTKCOMMONCORE_EXPORT ~vtkInformation();
+  VTKCOMMONCORE_EXPORT ~vtkInformation() VTK_OVERRIDE;
 
   // Get/Set a map entry directly through the vtkObjectBase instance
   // representing the value.  Used internally to manage the map.
diff --git a/Common/Core/vtkInformationDataObjectKey.h b/Common/Core/vtkInformationDataObjectKey.h
index 385236c7485..94e4232ff0d 100644
--- a/Common/Core/vtkInformationDataObjectKey.h
+++ b/Common/Core/vtkInformationDataObjectKey.h
@@ -34,7 +34,7 @@ public:
   void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkInformationDataObjectKey(const char* name, const char* location);
-  ~vtkInformationDataObjectKey();
+  ~vtkInformationDataObjectKey() VTK_OVERRIDE;
 
   // Description:
   // This method simply returns a new vtkInformationDataObjectKey, given a
diff --git a/Common/Core/vtkInformationDoubleKey.h b/Common/Core/vtkInformationDoubleKey.h
index 38176c7aed5..889545bec9a 100644
--- a/Common/Core/vtkInformationDoubleKey.h
+++ b/Common/Core/vtkInformationDoubleKey.h
@@ -32,7 +32,7 @@ public:
   void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkInformationDoubleKey(const char* name, const char* location);
-  ~vtkInformationDoubleKey();
+  ~vtkInformationDoubleKey() VTK_OVERRIDE;
 
   // Description:
   // This method simply returns a new vtkInformationDoubleKey, given a
diff --git a/Common/Core/vtkInformationDoubleVectorKey.h b/Common/Core/vtkInformationDoubleVectorKey.h
index f487436c8c9..9ebceb5fa63 100644
--- a/Common/Core/vtkInformationDoubleVectorKey.h
+++ b/Common/Core/vtkInformationDoubleVectorKey.h
@@ -33,7 +33,7 @@ public:
 
   vtkInformationDoubleVectorKey(const char* name, const char* location,
                                  int length=-1);
-  ~vtkInformationDoubleVectorKey();
+  ~vtkInformationDoubleVectorKey() VTK_OVERRIDE;
 
   // Description:
   // This method simply returns a new vtkInformationDoubleVectorKey, given a
diff --git a/Common/Core/vtkInformationIdTypeKey.h b/Common/Core/vtkInformationIdTypeKey.h
index 5d9cafec945..4b833e69553 100644
--- a/Common/Core/vtkInformationIdTypeKey.h
+++ b/Common/Core/vtkInformationIdTypeKey.h
@@ -32,7 +32,7 @@ public:
   void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkInformationIdTypeKey(const char* name, const char* location);
-  ~vtkInformationIdTypeKey();
+  ~vtkInformationIdTypeKey() VTK_OVERRIDE;
 
   // Description:
   // This method simply returns a new vtkInformationIdTypeKey, given a
diff --git a/Common/Core/vtkInformationInformationKey.h b/Common/Core/vtkInformationInformationKey.h
index 1328212a5de..fcef05cfad4 100644
--- a/Common/Core/vtkInformationInformationKey.h
+++ b/Common/Core/vtkInformationInformationKey.h
@@ -32,7 +32,7 @@ public:
   void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkInformationInformationKey(const char* name, const char* location);
-  ~vtkInformationInformationKey();
+  ~vtkInformationInformationKey() VTK_OVERRIDE;
 
   // Description:
   // This method simply returns a new vtkInformationInformationKey, given a
diff --git a/Common/Core/vtkInformationInformationVectorKey.h b/Common/Core/vtkInformationInformationVectorKey.h
index c54d9c2f452..1beaa92381a 100644
--- a/Common/Core/vtkInformationInformationVectorKey.h
+++ b/Common/Core/vtkInformationInformationVectorKey.h
@@ -34,7 +34,7 @@ public:
   void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkInformationInformationVectorKey(const char* name, const char* location);
-  ~vtkInformationInformationVectorKey();
+  ~vtkInformationInformationVectorKey() VTK_OVERRIDE;
 
   // Description:
   // Get/Set the value associated with this key in the given
diff --git a/Common/Core/vtkInformationIntegerKey.h b/Common/Core/vtkInformationIntegerKey.h
index 1ca8f040b38..392410f120c 100644
--- a/Common/Core/vtkInformationIntegerKey.h
+++ b/Common/Core/vtkInformationIntegerKey.h
@@ -32,7 +32,7 @@ public:
   void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkInformationIntegerKey(const char* name, const char* location);
-  ~vtkInformationIntegerKey();
+  ~vtkInformationIntegerKey() VTK_OVERRIDE;
 
   // Description:
   // This method simply returns a new vtkInformationIntegerKey, given a
diff --git a/Common/Core/vtkInformationIntegerPointerKey.h b/Common/Core/vtkInformationIntegerPointerKey.h
index 4671d81c809..a64db64fb43 100644
--- a/Common/Core/vtkInformationIntegerPointerKey.h
+++ b/Common/Core/vtkInformationIntegerPointerKey.h
@@ -33,7 +33,7 @@ public:
 
   vtkInformationIntegerPointerKey(const char* name, const char* location,
                                  int length=-1);
-  ~vtkInformationIntegerPointerKey();
+  ~vtkInformationIntegerPointerKey() VTK_OVERRIDE;
 
   // Description:
   // Get/Set the value associated with this key in the given
diff --git a/Common/Core/vtkInformationIntegerVectorKey.h b/Common/Core/vtkInformationIntegerVectorKey.h
index 16168cd02ed..e4c539d3168 100644
--- a/Common/Core/vtkInformationIntegerVectorKey.h
+++ b/Common/Core/vtkInformationIntegerVectorKey.h
@@ -33,7 +33,7 @@ public:
 
   vtkInformationIntegerVectorKey(const char* name, const char* location,
                                  int length=-1);
-  ~vtkInformationIntegerVectorKey();
+  ~vtkInformationIntegerVectorKey() VTK_OVERRIDE;
 
   // Description:
   // This method simply returns a new vtkInformationIntegerVectorKey, given a
diff --git a/Common/Core/vtkInformationIterator.h b/Common/Core/vtkInformationIterator.h
index 73ffb882293..aaaa96797bf 100644
--- a/Common/Core/vtkInformationIterator.h
+++ b/Common/Core/vtkInformationIterator.h
@@ -74,7 +74,7 @@ public:
 
 protected:
   vtkInformationIterator();
-  ~vtkInformationIterator();
+  ~vtkInformationIterator() VTK_OVERRIDE;
 
   vtkInformation* Information;
   vtkInformationIteratorInternals* Internal;
diff --git a/Common/Core/vtkInformationKey.h b/Common/Core/vtkInformationKey.h
index 02a2ba9461f..8be25657534 100644
--- a/Common/Core/vtkInformationKey.h
+++ b/Common/Core/vtkInformationKey.h
@@ -63,7 +63,7 @@ public:
   // should be passed to the constructor.  They must be string
   // literals because the strings are not copied.
   vtkInformationKey(const char* name, const char* location);
-  ~vtkInformationKey();
+  ~vtkInformationKey() VTK_OVERRIDE;
 
   // Description:
   // Copy the entry associated with this key from one information
diff --git a/Common/Core/vtkInformationKeyLookup.h b/Common/Core/vtkInformationKeyLookup.h
index b093271cbc6..28d88430ca4 100644
--- a/Common/Core/vtkInformationKeyLookup.h
+++ b/Common/Core/vtkInformationKeyLookup.h
@@ -48,7 +48,7 @@ public:
 
 protected:
     vtkInformationKeyLookup();
-    ~vtkInformationKeyLookup();
+    ~vtkInformationKeyLookup() VTK_OVERRIDE;
 
     friend class vtkInformationKey;
 
diff --git a/Common/Core/vtkInformationKeyVectorKey.h b/Common/Core/vtkInformationKeyVectorKey.h
index c4e003b8654..c887ae54057 100644
--- a/Common/Core/vtkInformationKeyVectorKey.h
+++ b/Common/Core/vtkInformationKeyVectorKey.h
@@ -32,7 +32,7 @@ public:
   void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkInformationKeyVectorKey(const char* name, const char* location);
-  ~vtkInformationKeyVectorKey();
+  ~vtkInformationKeyVectorKey() VTK_OVERRIDE;
 
   // Description:
   // This method simply returns a new vtkInformationKeyVectorKey, given a
diff --git a/Common/Core/vtkInformationObjectBaseKey.h b/Common/Core/vtkInformationObjectBaseKey.h
index 051e6624cf5..17672b28b74 100644
--- a/Common/Core/vtkInformationObjectBaseKey.h
+++ b/Common/Core/vtkInformationObjectBaseKey.h
@@ -35,7 +35,7 @@ public:
 
   vtkInformationObjectBaseKey(const char* name, const char* location,
                               const char* requiredClass=0);
-  ~vtkInformationObjectBaseKey();
+  ~vtkInformationObjectBaseKey() VTK_OVERRIDE;
 
   // Description:
   // This method simply returns a new vtkInformationObjectBaseKey, given a
diff --git a/Common/Core/vtkInformationObjectBaseVectorKey.h b/Common/Core/vtkInformationObjectBaseVectorKey.h
index 0288941ecaa..81a388893d3 100644
--- a/Common/Core/vtkInformationObjectBaseVectorKey.h
+++ b/Common/Core/vtkInformationObjectBaseVectorKey.h
@@ -44,7 +44,7 @@ public:
                                     const char* location,
                                     const char* requiredClass=0);
   //
-  ~vtkInformationObjectBaseVectorKey();
+  ~vtkInformationObjectBaseVectorKey() VTK_OVERRIDE;
 
   // Description:
   // This method simply returns a new vtkInformationObjectBaseVectorKey, given a
diff --git a/Common/Core/vtkInformationRequestKey.h b/Common/Core/vtkInformationRequestKey.h
index 93a1b314049..b69aa37dc76 100644
--- a/Common/Core/vtkInformationRequestKey.h
+++ b/Common/Core/vtkInformationRequestKey.h
@@ -32,7 +32,7 @@ public:
   void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkInformationRequestKey(const char* name, const char* location);
-  ~vtkInformationRequestKey();
+  ~vtkInformationRequestKey() VTK_OVERRIDE;
 
   // Description:
   // This method simply returns a new vtkInformationRequestKey, given a
diff --git a/Common/Core/vtkInformationStringKey.h b/Common/Core/vtkInformationStringKey.h
index ea380843f72..31a6f5625a7 100644
--- a/Common/Core/vtkInformationStringKey.h
+++ b/Common/Core/vtkInformationStringKey.h
@@ -34,7 +34,7 @@ public:
   void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkInformationStringKey(const char* name, const char* location);
-  ~vtkInformationStringKey();
+  ~vtkInformationStringKey() VTK_OVERRIDE;
 
   // Description:
   // This method simply returns a new vtkInformationStringKey, given a
diff --git a/Common/Core/vtkInformationStringVectorKey.h b/Common/Core/vtkInformationStringVectorKey.h
index ef1f370a656..4dde517bba2 100644
--- a/Common/Core/vtkInformationStringVectorKey.h
+++ b/Common/Core/vtkInformationStringVectorKey.h
@@ -35,7 +35,7 @@ public:
 
   vtkInformationStringVectorKey(const char* name, const char* location,
                                  int length=-1);
-  ~vtkInformationStringVectorKey();
+  ~vtkInformationStringVectorKey() VTK_OVERRIDE;
 
   // Description:
   // This method simply returns a new vtkInformationStringVectorKey, given a
diff --git a/Common/Core/vtkInformationUnsignedLongKey.h b/Common/Core/vtkInformationUnsignedLongKey.h
index 06dbc85ebfd..37f65d9b01f 100644
--- a/Common/Core/vtkInformationUnsignedLongKey.h
+++ b/Common/Core/vtkInformationUnsignedLongKey.h
@@ -32,7 +32,7 @@ public:
   void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkInformationUnsignedLongKey(const char* name, const char* location);
-  ~vtkInformationUnsignedLongKey();
+  ~vtkInformationUnsignedLongKey() VTK_OVERRIDE;
 
   // Description:
   // This method simply returns a new vtkInformationUnsignedLongKey, given a
diff --git a/Common/Core/vtkInformationVariantKey.h b/Common/Core/vtkInformationVariantKey.h
index 9af7eb329cc..ec018186a4f 100644
--- a/Common/Core/vtkInformationVariantKey.h
+++ b/Common/Core/vtkInformationVariantKey.h
@@ -34,7 +34,7 @@ public:
   void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkInformationVariantKey(const char* name, const char* location);
-  ~vtkInformationVariantKey();
+  ~vtkInformationVariantKey() VTK_OVERRIDE;
 
   // Description:
   // This method simply returns a new vtkInformationVariantKey, given a
diff --git a/Common/Core/vtkInformationVariantVectorKey.h b/Common/Core/vtkInformationVariantVectorKey.h
index 1d8478437bd..568495956e2 100644
--- a/Common/Core/vtkInformationVariantVectorKey.h
+++ b/Common/Core/vtkInformationVariantVectorKey.h
@@ -35,7 +35,7 @@ public:
 
   vtkInformationVariantVectorKey(const char* name, const char* location,
                                  int length=-1);
-  ~vtkInformationVariantVectorKey();
+  ~vtkInformationVariantVectorKey() VTK_OVERRIDE;
 
   // Description:
   // This method simply returns a new vtkInformationVariantVectorKey, given a
diff --git a/Common/Core/vtkInformationVector.h b/Common/Core/vtkInformationVector.h
index 5c1e7a87a65..38745dfe0c9 100644
--- a/Common/Core/vtkInformationVector.h
+++ b/Common/Core/vtkInformationVector.h
@@ -73,7 +73,7 @@ public:
 
 protected:
   vtkInformationVector();
-  ~vtkInformationVector();
+  ~vtkInformationVector() VTK_OVERRIDE;
 
   // Internal implementation details.
   vtkInformationVectorInternals* Internal;
diff --git a/Common/Core/vtkInstantiator.h b/Common/Core/vtkInstantiator.h
index 4f2cd2eef37..bd06b81737e 100644
--- a/Common/Core/vtkInstantiator.h
+++ b/Common/Core/vtkInstantiator.h
@@ -95,7 +95,7 @@ public:
 
 protected:
   vtkInstantiator();
-  ~vtkInstantiator();
+  ~vtkInstantiator() VTK_OVERRIDE;
 
   // Internal storage for registered creation functions.
   static vtkInstantiatorHashTable* CreatorTable;
diff --git a/Common/Core/vtkIntArray.h b/Common/Core/vtkIntArray.h
index 09108e05447..9b96b3b857e 100644
--- a/Common/Core/vtkIntArray.h
+++ b/Common/Core/vtkIntArray.h
@@ -67,7 +67,7 @@ public:
 
 protected:
   vtkIntArray();
-  ~vtkIntArray();
+  ~vtkIntArray() VTK_OVERRIDE;
 
 private:
 
diff --git a/Common/Core/vtkLongArray.h b/Common/Core/vtkLongArray.h
index a8581137442..3e2a26a913c 100644
--- a/Common/Core/vtkLongArray.h
+++ b/Common/Core/vtkLongArray.h
@@ -68,7 +68,7 @@ public:
 
 protected:
   vtkLongArray();
-  ~vtkLongArray();
+  ~vtkLongArray() VTK_OVERRIDE;
 
 private:
 
diff --git a/Common/Core/vtkLongLongArray.h b/Common/Core/vtkLongLongArray.h
index 646dd088535..e5bd4355c41 100644
--- a/Common/Core/vtkLongLongArray.h
+++ b/Common/Core/vtkLongLongArray.h
@@ -67,7 +67,7 @@ public:
 
 protected:
   vtkLongLongArray();
-  ~vtkLongLongArray();
+  ~vtkLongLongArray() VTK_OVERRIDE;
 
 private:
 
diff --git a/Common/Core/vtkLookupTable.h b/Common/Core/vtkLookupTable.h
index 62cb0fbb6c0..514a1048daa 100644
--- a/Common/Core/vtkLookupTable.h
+++ b/Common/Core/vtkLookupTable.h
@@ -348,7 +348,7 @@ public:
 
 protected:
   vtkLookupTable(int sze=256, int ext=256);
-  ~vtkLookupTable();
+  ~vtkLookupTable() VTK_OVERRIDE;
 
   vtkIdType NumberOfColors;
   vtkUnsignedCharArray *Table;
diff --git a/Common/Core/vtkMath.cxx b/Common/Core/vtkMath.cxx
index 8f2dd30a305..273ad86024d 100644
--- a/Common/Core/vtkMath.cxx
+++ b/Common/Core/vtkMath.cxx
@@ -56,7 +56,7 @@ public:
   std::vector<vtkTypeInt64> MemoizeFactorial;
 private:
   vtkMathInternal();
-  ~vtkMathInternal();
+  ~vtkMathInternal() VTK_OVERRIDE;
 };
 
 vtkMathInternal::vtkMathInternal()
diff --git a/Common/Core/vtkMath.h b/Common/Core/vtkMath.h
index 61f362a586c..9aa2635340e 100644
--- a/Common/Core/vtkMath.h
+++ b/Common/Core/vtkMath.h
@@ -991,7 +991,7 @@ public:
 
 protected:
   vtkMath() {}
-  ~vtkMath() {}
+  ~vtkMath() VTK_OVERRIDE {}
 
   static vtkSmartPointer<vtkMathInternal> Internal;
 private:
diff --git a/Common/Core/vtkMersenneTwister.h b/Common/Core/vtkMersenneTwister.h
index 98950dc676c..d45fad1d3c8 100644
--- a/Common/Core/vtkMersenneTwister.h
+++ b/Common/Core/vtkMersenneTwister.h
@@ -114,7 +114,7 @@ public:
 
 protected:
   vtkMersenneTwister();
-  virtual ~vtkMersenneTwister();
+  ~vtkMersenneTwister() VTK_OVERRIDE;
 
   vtkMersenneTwisterInternals* Internal;
 
diff --git a/Common/Core/vtkMinimalStandardRandomSequence.h b/Common/Core/vtkMinimalStandardRandomSequence.h
index 8b9346f7a37..7254fe8038a 100644
--- a/Common/Core/vtkMinimalStandardRandomSequence.h
+++ b/Common/Core/vtkMinimalStandardRandomSequence.h
@@ -101,7 +101,7 @@ public:
 
 protected:
   vtkMinimalStandardRandomSequence();
-  virtual ~vtkMinimalStandardRandomSequence();
+  ~vtkMinimalStandardRandomSequence() VTK_OVERRIDE;
   int Seed;
 private:
   vtkMinimalStandardRandomSequence(const vtkMinimalStandardRandomSequence&) VTK_DELETE_FUNCTION;
diff --git a/Common/Core/vtkMultiThreader.h b/Common/Core/vtkMultiThreader.h
index a7dd2dd0856..476c9e7c123 100644
--- a/Common/Core/vtkMultiThreader.h
+++ b/Common/Core/vtkMultiThreader.h
@@ -189,7 +189,7 @@ public:
 
 protected:
   vtkMultiThreader();
-  ~vtkMultiThreader();
+  ~vtkMultiThreader() VTK_OVERRIDE;
 
   // The number of threads to use
   int                        NumberOfThreads;
diff --git a/Common/Core/vtkOStrStreamWrapper.h b/Common/Core/vtkOStrStreamWrapper.h
index 5c8a5b6af8d..7a107eca4a7 100644
--- a/Common/Core/vtkOStrStreamWrapper.h
+++ b/Common/Core/vtkOStrStreamWrapper.h
@@ -37,7 +37,7 @@ public:
 
   // Description:
   // Destructor frees all used memory.
-  ~vtkOStrStreamWrapper();
+  ~vtkOStrStreamWrapper() VTK_OVERRIDE;
 
   // Description:
   // Get the string that has been written.  This call transfers
diff --git a/Common/Core/vtkObject.h b/Common/Core/vtkObject.h
index aa0abe5aa3f..83774c67b0d 100644
--- a/Common/Core/vtkObject.h
+++ b/Common/Core/vtkObject.h
@@ -213,7 +213,7 @@ public:
 
 protected:
   vtkObject();
-  virtual ~vtkObject();
+  ~vtkObject() VTK_OVERRIDE;
 
   // See vtkObjectBase.h.
   void RegisterInternal(vtkObjectBase*, vtkTypeBool check) VTK_OVERRIDE;
@@ -327,11 +327,11 @@ private:
         this->Method2 = NULL;
         this->Method3 = method;
         }
-      virtual ~vtkClassMemberCallback() { }
+      ~vtkClassMemberCallback() VTK_OVERRIDE { }
 
       // Called when the event is invoked
-      virtual bool operator()(
-        vtkObject* caller, unsigned long event, void* calldata)
+      bool operator()(
+        vtkObject* caller, unsigned long event, void* calldata) VTK_OVERRIDE
         {
         T *handler = this->Handler.GetPointer();
         if (handler)
diff --git a/Common/Core/vtkObjectFactory.cxx b/Common/Core/vtkObjectFactory.cxx
index 5938a9964f7..327e416339c 100644
--- a/Common/Core/vtkObjectFactory.cxx
+++ b/Common/Core/vtkObjectFactory.cxx
@@ -470,11 +470,11 @@ void vtkObjectFactory::RegisterOverride(const char* classOverride,
   this->GrowOverrideArray();
   int nextIndex = this->OverrideArrayLength;
   this->OverrideArrayLength++;
-  char* override = strcpy(new char[strlen(classOverride)+1], classOverride);
+  char* className = strcpy(new char[strlen(classOverride)+1], classOverride);
   char* desc = strcpy(new char[strlen(description)+1], description);
   char* ocn =  strcpy(new char[strlen(subclass)+1],
                       subclass);
-  this->OverrideClassNames[nextIndex] = override;
+  this->OverrideClassNames[nextIndex] = className;
   this->OverrideArray[nextIndex].Description = desc;
   this->OverrideArray[nextIndex].OverrideWithName = ocn;
   this->OverrideArray[nextIndex].EnabledFlag = enableFlag;
diff --git a/Common/Core/vtkObjectFactory.h b/Common/Core/vtkObjectFactory.h
index 575f104db83..f5ed6bdf442 100644
--- a/Common/Core/vtkObjectFactory.h
+++ b/Common/Core/vtkObjectFactory.h
@@ -200,7 +200,7 @@ protected:
   virtual vtkObject* CreateObject(const char* vtkclassname );
 
   vtkObjectFactory();
-  ~vtkObjectFactory();
+  ~vtkObjectFactory() VTK_OVERRIDE;
 
   struct OverrideInformation
   {
diff --git a/Common/Core/vtkObjectFactoryCollection.h b/Common/Core/vtkObjectFactoryCollection.h
index 8d7111baf74..5e38c69cdb4 100644
--- a/Common/Core/vtkObjectFactoryCollection.h
+++ b/Common/Core/vtkObjectFactoryCollection.h
@@ -56,7 +56,7 @@ public:
 
 protected:
   vtkObjectFactoryCollection() {}
-  ~vtkObjectFactoryCollection() {}
+  ~vtkObjectFactoryCollection() VTK_OVERRIDE {}
 
 
 private:
diff --git a/Common/Core/vtkOldStyleCallbackCommand.h b/Common/Core/vtkOldStyleCallbackCommand.h
index 4207e20ddf2..74dea7fa67f 100644
--- a/Common/Core/vtkOldStyleCallbackCommand.h
+++ b/Common/Core/vtkOldStyleCallbackCommand.h
@@ -64,7 +64,7 @@ public:
 
 protected:
   vtkOldStyleCallbackCommand();
-  ~vtkOldStyleCallbackCommand();
+  ~vtkOldStyleCallbackCommand() VTK_OVERRIDE;
 };
 
 
diff --git a/Common/Core/vtkOutputWindow.h b/Common/Core/vtkOutputWindow.h
index f9a05037d65..c5ae9e1f16e 100644
--- a/Common/Core/vtkOutputWindow.h
+++ b/Common/Core/vtkOutputWindow.h
@@ -83,7 +83,7 @@ public:
 
 protected:
   vtkOutputWindow();
-  virtual ~vtkOutputWindow();
+  ~vtkOutputWindow() VTK_OVERRIDE;
   int PromptUser;
 private:
   static vtkOutputWindow* Instance;
diff --git a/Common/Core/vtkOverrideInformation.h b/Common/Core/vtkOverrideInformation.h
index af4f85aa485..de17f16e414 100644
--- a/Common/Core/vtkOverrideInformation.h
+++ b/Common/Core/vtkOverrideInformation.h
@@ -79,7 +79,7 @@ protected:
 
 private:
   vtkOverrideInformation();
-  ~vtkOverrideInformation();
+  ~vtkOverrideInformation() VTK_OVERRIDE;
   // allow the object factory to set the values in this
   // class, but only the object factory
 
diff --git a/Common/Core/vtkOverrideInformationCollection.h b/Common/Core/vtkOverrideInformationCollection.h
index 6915f73e547..9ab525c1866 100644
--- a/Common/Core/vtkOverrideInformationCollection.h
+++ b/Common/Core/vtkOverrideInformationCollection.h
@@ -51,7 +51,7 @@ public:
 
 protected:
   vtkOverrideInformationCollection() {}
-  ~vtkOverrideInformationCollection() {}
+  ~vtkOverrideInformationCollection() VTK_OVERRIDE {}
 
 
 private:
diff --git a/Common/Core/vtkPoints.h b/Common/Core/vtkPoints.h
index 5d07e1adbcf..f3272f26a82 100644
--- a/Common/Core/vtkPoints.h
+++ b/Common/Core/vtkPoints.h
@@ -194,7 +194,7 @@ public:
 
 protected:
   vtkPoints(int dataType = VTK_FLOAT);
-  ~vtkPoints();
+  ~vtkPoints() VTK_OVERRIDE;
 
   double Bounds[6];
   vtkTimeStamp ComputeTime; // Time at which bounds computed
diff --git a/Common/Core/vtkPoints2D.h b/Common/Core/vtkPoints2D.h
index 7fac9942ac6..ef63634985e 100644
--- a/Common/Core/vtkPoints2D.h
+++ b/Common/Core/vtkPoints2D.h
@@ -178,7 +178,7 @@ public:
 
 protected:
   vtkPoints2D(int dataType = VTK_FLOAT);
-  ~vtkPoints2D();
+  ~vtkPoints2D() VTK_OVERRIDE;
 
   double Bounds[4];
   vtkTimeStamp ComputeTime; // Time at which bounds computed
diff --git a/Common/Core/vtkPriorityQueue.h b/Common/Core/vtkPriorityQueue.h
index 4641f16268b..c419253ea56 100644
--- a/Common/Core/vtkPriorityQueue.h
+++ b/Common/Core/vtkPriorityQueue.h
@@ -110,7 +110,7 @@ public:
 
 protected:
   vtkPriorityQueue();
-  ~vtkPriorityQueue();
+  ~vtkPriorityQueue() VTK_OVERRIDE;
 
   Item *Resize(const vtkIdType sz);
 
diff --git a/Common/Core/vtkRandomSequence.h b/Common/Core/vtkRandomSequence.h
index 6d236440f4b..189320cefbf 100644
--- a/Common/Core/vtkRandomSequence.h
+++ b/Common/Core/vtkRandomSequence.h
@@ -47,7 +47,7 @@ public:
 
 protected:
   vtkRandomSequence();
-  virtual ~vtkRandomSequence();
+  ~vtkRandomSequence() VTK_OVERRIDE;
 private:
   vtkRandomSequence(const vtkRandomSequence&) VTK_DELETE_FUNCTION;
   void operator=(const vtkRandomSequence&) VTK_DELETE_FUNCTION;
diff --git a/Common/Core/vtkReferenceCount.h b/Common/Core/vtkReferenceCount.h
index 6231a16c74c..e3a90fcb2d0 100644
--- a/Common/Core/vtkReferenceCount.h
+++ b/Common/Core/vtkReferenceCount.h
@@ -34,7 +34,7 @@ public:
 
 protected:
   vtkReferenceCount();
-  ~vtkReferenceCount();
+  ~vtkReferenceCount() VTK_OVERRIDE;
 
 private:
   vtkReferenceCount(const vtkReferenceCount&) VTK_DELETE_FUNCTION;
diff --git a/Common/Core/vtkSOADataArrayTemplate.h b/Common/Core/vtkSOADataArrayTemplate.h
index b69ebb815e2..29f508e7a8b 100644
--- a/Common/Core/vtkSOADataArrayTemplate.h
+++ b/Common/Core/vtkSOADataArrayTemplate.h
@@ -175,7 +175,7 @@ public:
 
 protected:
   vtkSOADataArrayTemplate();
-  ~vtkSOADataArrayTemplate();
+  ~vtkSOADataArrayTemplate() VTK_OVERRIDE;
 
   // Description:
   // Allocate space for numTuples. Old data is not preserved. If numTuples == 0,
diff --git a/Common/Core/vtkScalarsToColors.h b/Common/Core/vtkScalarsToColors.h
index 14390be7b62..e01f14ae19f 100644
--- a/Common/Core/vtkScalarsToColors.h
+++ b/Common/Core/vtkScalarsToColors.h
@@ -334,7 +334,7 @@ public:
 
 protected:
   vtkScalarsToColors();
-  ~vtkScalarsToColors();
+  ~vtkScalarsToColors() VTK_OVERRIDE;
 
   // Description:
   // An internal method that assumes that the input already has the right
diff --git a/Common/Core/vtkShortArray.h b/Common/Core/vtkShortArray.h
index 23f2d350a24..ca4a0049991 100644
--- a/Common/Core/vtkShortArray.h
+++ b/Common/Core/vtkShortArray.h
@@ -67,7 +67,7 @@ public:
 
 protected:
   vtkShortArray();
-  ~vtkShortArray();
+  ~vtkShortArray() VTK_OVERRIDE;
 
 private:
 
diff --git a/Common/Core/vtkSignedCharArray.h b/Common/Core/vtkSignedCharArray.h
index 94ceed65da0..499243b9713 100644
--- a/Common/Core/vtkSignedCharArray.h
+++ b/Common/Core/vtkSignedCharArray.h
@@ -63,7 +63,7 @@ public:
 
 protected:
   vtkSignedCharArray();
-  ~vtkSignedCharArray();
+  ~vtkSignedCharArray() VTK_OVERRIDE;
 
 private:
 
diff --git a/Common/Core/vtkSortDataArray.h b/Common/Core/vtkSortDataArray.h
index 7acc184831e..119d61c0422 100644
--- a/Common/Core/vtkSortDataArray.h
+++ b/Common/Core/vtkSortDataArray.h
@@ -160,7 +160,7 @@ public:
 
 protected:
   vtkSortDataArray();
-  virtual ~vtkSortDataArray();
+  ~vtkSortDataArray() VTK_OVERRIDE;
 
   // A more efficient sort for single component arrays. This is delegated to
   // by the methods above (if appropriate).
diff --git a/Common/Core/vtkSparseArray.h b/Common/Core/vtkSparseArray.h
index 1a7e892adc8..ffea2f5917f 100644
--- a/Common/Core/vtkSparseArray.h
+++ b/Common/Core/vtkSparseArray.h
@@ -193,7 +193,7 @@ public:
 
 protected:
   vtkSparseArray();
-  ~vtkSparseArray();
+  ~vtkSparseArray() VTK_OVERRIDE;
 
 private:
   vtkSparseArray(const vtkSparseArray&) VTK_DELETE_FUNCTION;
diff --git a/Common/Core/vtkStringArray.h b/Common/Core/vtkStringArray.h
index 6ae62267d39..42f204acb60 100644
--- a/Common/Core/vtkStringArray.h
+++ b/Common/Core/vtkStringArray.h
@@ -282,7 +282,7 @@ public:
 
 protected:
   vtkStringArray();
-  ~vtkStringArray();
+  ~vtkStringArray() VTK_OVERRIDE;
 
   vtkStdString* Array;   // pointer to data
   vtkStdString* ResizeAndExtend(vtkIdType sz);  // function to resize data
diff --git a/Common/Core/vtkStringOutputWindow.h b/Common/Core/vtkStringOutputWindow.h
index 96ab9176d55..02652116e76 100644
--- a/Common/Core/vtkStringOutputWindow.h
+++ b/Common/Core/vtkStringOutputWindow.h
@@ -45,7 +45,7 @@ public:
 
 protected:
   vtkStringOutputWindow();
-  virtual ~vtkStringOutputWindow();
+  ~vtkStringOutputWindow() VTK_OVERRIDE;
   void Initialize();
 
   std::ostringstream OStream;
diff --git a/Common/Core/vtkTimePointUtility.h b/Common/Core/vtkTimePointUtility.h
index 90cd19abdf3..7bc55c37a27 100644
--- a/Common/Core/vtkTimePointUtility.h
+++ b/Common/Core/vtkTimePointUtility.h
@@ -148,7 +148,7 @@ public:
 
 protected:
   vtkTimePointUtility() {}
-  ~vtkTimePointUtility() {}
+  ~vtkTimePointUtility() VTK_OVERRIDE {}
 
 private:
   vtkTimePointUtility(const vtkTimePointUtility&) VTK_DELETE_FUNCTION;
diff --git a/Common/Core/vtkTypedArray.h b/Common/Core/vtkTypedArray.h
index 7b1de8d1e95..f42aac9f598 100644
--- a/Common/Core/vtkTypedArray.h
+++ b/Common/Core/vtkTypedArray.h
@@ -106,7 +106,7 @@ public:
 
 protected:
   vtkTypedArray() {}
-  ~vtkTypedArray() {}
+  ~vtkTypedArray() VTK_OVERRIDE {}
 
 private:
   vtkTypedArray(const vtkTypedArray&) VTK_DELETE_FUNCTION;
diff --git a/Common/Core/vtkTypedDataArray.h b/Common/Core/vtkTypedDataArray.h
index bb2cf976d27..316c10bb908 100644
--- a/Common/Core/vtkTypedDataArray.h
+++ b/Common/Core/vtkTypedDataArray.h
@@ -77,17 +77,17 @@ public:
 
   // Description:
   // Return the VTK data type held by this array.
-  int GetDataType();
+  int GetDataType() VTK_OVERRIDE;
 
   // Description:
   // Return the size of the element type in bytes.
-  int GetDataTypeSize();
+  int GetDataTypeSize() VTK_OVERRIDE;
 
   // Description:
   // Specify the number of values for this object to hold. Does an
   // allocation as well as setting the MaxId ivar. Used in conjunction with
   // SetValue() method for fast insertion.
-  virtual void SetNumberOfValues(vtkIdType num);
+  void SetNumberOfValues(vtkIdType num) VTK_OVERRIDE;
 
   // Description:
   // Set the tuple value at the ith location in the array.
@@ -102,11 +102,6 @@ public:
   // Insert (memory allocation performed) the tuple onto the end of the array.
   virtual vtkIdType InsertNextTypedTuple(const ValueType *t) = 0;
 
-  // Description:
-  // Return the indices where a specific value appears.
-  virtual vtkIdType LookupTypedValue(ValueType value) = 0;
-  virtual void LookupTypedValue(ValueType value, vtkIdList *ids) = 0;
-
   // Description:
   // Get the data at a particular index.
   virtual ValueType GetValue(vtkIdType idx) const = 0;
@@ -137,7 +132,7 @@ public:
 
   // Description:
   // Method for type-checking in FastDownCast implementations.
-  virtual int GetArrayType() { return vtkAbstractArray::TypedDataArray; }
+  int GetArrayType() VTK_OVERRIDE { return vtkAbstractArray::TypedDataArray; }
 
   // Reintroduced as pure virtual since the base vtkGenericDataArray method
   // requires new allocation/resize APIs, though existing MappedDataArrays
diff --git a/Common/Core/vtkUnicodeStringArray.h b/Common/Core/vtkUnicodeStringArray.h
index 3b5b246084c..1cffb539309 100644
--- a/Common/Core/vtkUnicodeStringArray.h
+++ b/Common/Core/vtkUnicodeStringArray.h
@@ -91,7 +91,7 @@ public:
 
 protected:
   vtkUnicodeStringArray();
-  ~vtkUnicodeStringArray();
+  ~vtkUnicodeStringArray() VTK_OVERRIDE;
 
 private:
   vtkUnicodeStringArray(const vtkUnicodeStringArray&) VTK_DELETE_FUNCTION;
diff --git a/Common/Core/vtkUnsignedCharArray.h b/Common/Core/vtkUnsignedCharArray.h
index 1ae81c062f0..1a6b4e0d1e1 100644
--- a/Common/Core/vtkUnsignedCharArray.h
+++ b/Common/Core/vtkUnsignedCharArray.h
@@ -63,7 +63,7 @@ public:
 
 protected:
   vtkUnsignedCharArray();
-  ~vtkUnsignedCharArray();
+  ~vtkUnsignedCharArray() VTK_OVERRIDE;
 
 private:
 
diff --git a/Common/Core/vtkUnsignedIntArray.h b/Common/Core/vtkUnsignedIntArray.h
index 7797f1f0fa8..3fe407afcd6 100644
--- a/Common/Core/vtkUnsignedIntArray.h
+++ b/Common/Core/vtkUnsignedIntArray.h
@@ -67,7 +67,7 @@ public:
 
 protected:
   vtkUnsignedIntArray();
-  ~vtkUnsignedIntArray();
+  ~vtkUnsignedIntArray() VTK_OVERRIDE;
 
 private:
 
diff --git a/Common/Core/vtkUnsignedLongArray.h b/Common/Core/vtkUnsignedLongArray.h
index fa1b8d016a7..df7b147085b 100644
--- a/Common/Core/vtkUnsignedLongArray.h
+++ b/Common/Core/vtkUnsignedLongArray.h
@@ -69,7 +69,7 @@ public:
 
 protected:
   vtkUnsignedLongArray();
-  ~vtkUnsignedLongArray();
+  ~vtkUnsignedLongArray() VTK_OVERRIDE;
 
 private:
 
diff --git a/Common/Core/vtkUnsignedLongLongArray.h b/Common/Core/vtkUnsignedLongLongArray.h
index e8a69a7b0ea..137390e2bea 100644
--- a/Common/Core/vtkUnsignedLongLongArray.h
+++ b/Common/Core/vtkUnsignedLongLongArray.h
@@ -68,7 +68,7 @@ public:
 
 protected:
   vtkUnsignedLongLongArray();
-  ~vtkUnsignedLongLongArray();
+  ~vtkUnsignedLongLongArray() VTK_OVERRIDE;
 
 private:
 
diff --git a/Common/Core/vtkUnsignedShortArray.h b/Common/Core/vtkUnsignedShortArray.h
index 1fcf0835cfc..56544a3cc44 100644
--- a/Common/Core/vtkUnsignedShortArray.h
+++ b/Common/Core/vtkUnsignedShortArray.h
@@ -68,7 +68,7 @@ public:
 
 protected:
   vtkUnsignedShortArray();
-  ~vtkUnsignedShortArray();
+  ~vtkUnsignedShortArray() VTK_OVERRIDE;
 
 private:
 
diff --git a/Common/Core/vtkVariantArray.h b/Common/Core/vtkVariantArray.h
index 4c53b34f2e6..e3830818b47 100644
--- a/Common/Core/vtkVariantArray.h
+++ b/Common/Core/vtkVariantArray.h
@@ -270,7 +270,7 @@ public:
   // Description:
   // This destructor is public to work around a bug in version 1.36.0 of
   // the Boost.Serialization library.
-  ~vtkVariantArray();
+  ~vtkVariantArray() VTK_OVERRIDE;
 
 protected:
   // Construct object with default tuple dimension (number of components) of 1.
diff --git a/Common/Core/vtkVersion.h b/Common/Core/vtkVersion.h
index 6a6b63066aa..3e66245f13f 100644
--- a/Common/Core/vtkVersion.h
+++ b/Common/Core/vtkVersion.h
@@ -50,7 +50,7 @@ public:
 
 protected:
   vtkVersion() {} //insure constructor/destructor protected
-  ~vtkVersion() {}
+  ~vtkVersion() VTK_OVERRIDE {}
 private:
   vtkVersion(const vtkVersion&) VTK_DELETE_FUNCTION;
   void operator=(const vtkVersion&) VTK_DELETE_FUNCTION;
diff --git a/Common/Core/vtkVoidArray.h b/Common/Core/vtkVoidArray.h
index 033f0e7e2bb..163954648b8 100644
--- a/Common/Core/vtkVoidArray.h
+++ b/Common/Core/vtkVoidArray.h
@@ -109,7 +109,7 @@ public:
 
 protected:
   vtkVoidArray();
-  ~vtkVoidArray();
+  ~vtkVoidArray() VTK_OVERRIDE;
 
   vtkIdType NumberOfPointers;
   vtkIdType Size;
diff --git a/Common/Core/vtkWindow.h b/Common/Core/vtkWindow.h
index 5e297a6a6bd..1cd86eab825 100644
--- a/Common/Core/vtkWindow.h
+++ b/Common/Core/vtkWindow.h
@@ -156,7 +156,7 @@ public:
 protected:
   int OffScreenRendering;
   vtkWindow();
-  ~vtkWindow();
+  ~vtkWindow() VTK_OVERRIDE;
 
   char *WindowName;
   int Size[2];
diff --git a/Common/Core/vtkXMLFileOutputWindow.h b/Common/Core/vtkXMLFileOutputWindow.h
index 5ce46efd7d1..d16cfbe20e7 100644
--- a/Common/Core/vtkXMLFileOutputWindow.h
+++ b/Common/Core/vtkXMLFileOutputWindow.h
@@ -62,7 +62,7 @@ public:
 
 protected:
   vtkXMLFileOutputWindow() {}
-  virtual ~vtkXMLFileOutputWindow() {}
+  ~vtkXMLFileOutputWindow() VTK_OVERRIDE {}
 
   void Initialize();
   virtual void DisplayXML(const char*, const char*);
diff --git a/Common/DataModel/vtkAMRDataInternals.h b/Common/DataModel/vtkAMRDataInternals.h
index 1934a7798aa..f1bd4bb218c 100644
--- a/Common/DataModel/vtkAMRDataInternals.h
+++ b/Common/DataModel/vtkAMRDataInternals.h
@@ -61,7 +61,7 @@ public:
 protected:
 
   vtkAMRDataInternals();
-  ~vtkAMRDataInternals();
+  ~vtkAMRDataInternals() VTK_OVERRIDE;
 
   void GenerateIndex(bool force=false);
 
diff --git a/Common/DataModel/vtkAMRInformation.h b/Common/DataModel/vtkAMRInformation.h
index f787ac4c7cb..015dc09e915 100644
--- a/Common/DataModel/vtkAMRInformation.h
+++ b/Common/DataModel/vtkAMRInformation.h
@@ -210,7 +210,7 @@ public:
 
  private:
   vtkAMRInformation();
-  ~vtkAMRInformation();
+  ~vtkAMRInformation() VTK_OVERRIDE;
   vtkAMRInformation(const vtkAMRInformation&) VTK_DELETE_FUNCTION;
   void operator=(const vtkAMRInformation&) VTK_DELETE_FUNCTION;
 
diff --git a/Common/DataModel/vtkAMRUtilities.h b/Common/DataModel/vtkAMRUtilities.h
index 2963ba3122a..74319f8af94 100644
--- a/Common/DataModel/vtkAMRUtilities.h
+++ b/Common/DataModel/vtkAMRUtilities.h
@@ -65,7 +65,7 @@ public:
 
 protected:
   vtkAMRUtilities() {}
-  ~vtkAMRUtilities() {}
+  ~vtkAMRUtilities() VTK_OVERRIDE {}
 
   // Description:
   // Given the real-extent w.r.t. the ghosted grid, this method copies the
diff --git a/Common/DataModel/vtkAbstractCellLinks.h b/Common/DataModel/vtkAbstractCellLinks.h
index e78a27bdeb7..67f24827642 100644
--- a/Common/DataModel/vtkAbstractCellLinks.h
+++ b/Common/DataModel/vtkAbstractCellLinks.h
@@ -60,7 +60,7 @@ public:
 
 protected:
   vtkAbstractCellLinks();
-  virtual ~vtkAbstractCellLinks();
+  ~vtkAbstractCellLinks() VTK_OVERRIDE;
 
 private:
   vtkAbstractCellLinks(const vtkAbstractCellLinks&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkAbstractCellLocator.h b/Common/DataModel/vtkAbstractCellLocator.h
index 51634b8a864..cfc9aefbb6e 100644
--- a/Common/DataModel/vtkAbstractCellLocator.h
+++ b/Common/DataModel/vtkAbstractCellLocator.h
@@ -240,7 +240,7 @@ public:
 
 protected:
    vtkAbstractCellLocator();
-  ~vtkAbstractCellLocator();
+  ~vtkAbstractCellLocator() VTK_OVERRIDE;
 
   // Description:
   // This command is used internally by the locator to copy
diff --git a/Common/DataModel/vtkAbstractElectronicData.h b/Common/DataModel/vtkAbstractElectronicData.h
index feaaf1e0e59..ac24f4acf08 100644
--- a/Common/DataModel/vtkAbstractElectronicData.h
+++ b/Common/DataModel/vtkAbstractElectronicData.h
@@ -96,7 +96,7 @@ public:
 
 protected:
   vtkAbstractElectronicData();
-  ~vtkAbstractElectronicData();
+  ~vtkAbstractElectronicData() VTK_OVERRIDE;
 
   double Padding;
 
diff --git a/Common/DataModel/vtkAbstractPointLocator.h b/Common/DataModel/vtkAbstractPointLocator.h
index 3c8a3bf6a4f..ac410d83e52 100644
--- a/Common/DataModel/vtkAbstractPointLocator.h
+++ b/Common/DataModel/vtkAbstractPointLocator.h
@@ -89,7 +89,7 @@ public:
 
 protected:
   vtkAbstractPointLocator();
-  virtual ~vtkAbstractPointLocator();
+  ~vtkAbstractPointLocator() VTK_OVERRIDE;
 
   double Bounds[6]; // bounds of points
   vtkIdType NumberOfBuckets; // total size of locator
diff --git a/Common/DataModel/vtkAdjacentVertexIterator.h b/Common/DataModel/vtkAdjacentVertexIterator.h
index 376cbac4005..30564b1ef08 100644
--- a/Common/DataModel/vtkAdjacentVertexIterator.h
+++ b/Common/DataModel/vtkAdjacentVertexIterator.h
@@ -74,7 +74,7 @@ public:
 
 protected:
   vtkAdjacentVertexIterator();
-  ~vtkAdjacentVertexIterator();
+  ~vtkAdjacentVertexIterator() VTK_OVERRIDE;
 
   // Description:
   // Protected method for setting the graph used
diff --git a/Common/DataModel/vtkAnimationScene.h b/Common/DataModel/vtkAnimationScene.h
index e0521b71bad..e718c62ee2a 100644
--- a/Common/DataModel/vtkAnimationScene.h
+++ b/Common/DataModel/vtkAnimationScene.h
@@ -103,7 +103,7 @@ public:
 
 protected:
   vtkAnimationScene();
-  ~vtkAnimationScene();
+  ~vtkAnimationScene() VTK_OVERRIDE;
 
   // Description:
   // Called on every valid tick.
diff --git a/Common/DataModel/vtkAnnotation.h b/Common/DataModel/vtkAnnotation.h
index f381f266148..0cf81f8ae02 100644
--- a/Common/DataModel/vtkAnnotation.h
+++ b/Common/DataModel/vtkAnnotation.h
@@ -110,7 +110,7 @@ public:
 
 protected:
   vtkAnnotation();
-  ~vtkAnnotation();
+  ~vtkAnnotation() VTK_OVERRIDE;
 
   vtkSelection* Selection;
 
diff --git a/Common/DataModel/vtkAnnotationLayers.h b/Common/DataModel/vtkAnnotationLayers.h
index e5f77603093..5200ba814b3 100644
--- a/Common/DataModel/vtkAnnotationLayers.h
+++ b/Common/DataModel/vtkAnnotationLayers.h
@@ -95,7 +95,7 @@ public:
 
 protected:
   vtkAnnotationLayers();
-  ~vtkAnnotationLayers();
+  ~vtkAnnotationLayers() VTK_OVERRIDE;
 
   class Internals;
   Internals* Implementation;
diff --git a/Common/DataModel/vtkArrayData.h b/Common/DataModel/vtkArrayData.h
index 3af62640a07..f40b7e5e3d3 100644
--- a/Common/DataModel/vtkArrayData.h
+++ b/Common/DataModel/vtkArrayData.h
@@ -82,7 +82,7 @@ public:
 
 protected:
   vtkArrayData();
-  ~vtkArrayData();
+  ~vtkArrayData() VTK_OVERRIDE;
 
 private:
   vtkArrayData(const vtkArrayData&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkAttributesErrorMetric.h b/Common/DataModel/vtkAttributesErrorMetric.h
index 49e02299473..06a4df91cfc 100644
--- a/Common/DataModel/vtkAttributesErrorMetric.h
+++ b/Common/DataModel/vtkAttributesErrorMetric.h
@@ -117,7 +117,7 @@ public:
 
 protected:
   vtkAttributesErrorMetric();
-  virtual ~vtkAttributesErrorMetric();
+  ~vtkAttributesErrorMetric() VTK_OVERRIDE;
 
   // Description:
   // Compute the square absolute attribute tolerance, only if the cached value
diff --git a/Common/DataModel/vtkBSPCuts.h b/Common/DataModel/vtkBSPCuts.h
index 772ebc3cf5e..95b4d73cede 100644
--- a/Common/DataModel/vtkBSPCuts.h
+++ b/Common/DataModel/vtkBSPCuts.h
@@ -116,7 +116,7 @@ public:
 protected:
 
   vtkBSPCuts();
-  ~vtkBSPCuts();
+  ~vtkBSPCuts() VTK_OVERRIDE;
 
   static void DeleteAllDescendants(vtkKdNode *kd);
 
diff --git a/Common/DataModel/vtkBSPIntersections.h b/Common/DataModel/vtkBSPIntersections.h
index 86633df17c1..e90e83c14ec 100644
--- a/Common/DataModel/vtkBSPIntersections.h
+++ b/Common/DataModel/vtkBSPIntersections.h
@@ -139,7 +139,7 @@ public:
 protected:
 
   vtkBSPIntersections();
-  ~vtkBSPIntersections();
+  ~vtkBSPIntersections() VTK_OVERRIDE;
 
   vtkGetMacro(RegionListBuildTime, vtkMTimeType);
 
diff --git a/Common/DataModel/vtkBiQuadraticQuad.h b/Common/DataModel/vtkBiQuadraticQuad.h
index 7c307e2c389..49d58f7f1c1 100644
--- a/Common/DataModel/vtkBiQuadraticQuad.h
+++ b/Common/DataModel/vtkBiQuadraticQuad.h
@@ -119,7 +119,7 @@ public:
 
 protected:
   vtkBiQuadraticQuad();
-  ~vtkBiQuadraticQuad();
+  ~vtkBiQuadraticQuad() VTK_OVERRIDE;
 
   vtkQuadraticEdge *Edge;
   vtkQuad          *Quad;
diff --git a/Common/DataModel/vtkBiQuadraticQuadraticHexahedron.h b/Common/DataModel/vtkBiQuadraticQuadraticHexahedron.h
index c7f20c25983..08f82ae9a08 100644
--- a/Common/DataModel/vtkBiQuadraticQuadraticHexahedron.h
+++ b/Common/DataModel/vtkBiQuadraticQuadraticHexahedron.h
@@ -155,7 +155,7 @@ public:
 
 protected:
   vtkBiQuadraticQuadraticHexahedron();
-  ~vtkBiQuadraticQuadraticHexahedron();
+  ~vtkBiQuadraticQuadraticHexahedron() VTK_OVERRIDE;
 
   vtkQuadraticEdge *Edge;
   vtkQuadraticQuad *Face;
diff --git a/Common/DataModel/vtkBiQuadraticQuadraticWedge.h b/Common/DataModel/vtkBiQuadraticQuadraticWedge.h
index 6db7648f71e..96b8829b050 100644
--- a/Common/DataModel/vtkBiQuadraticQuadraticWedge.h
+++ b/Common/DataModel/vtkBiQuadraticQuadraticWedge.h
@@ -133,7 +133,7 @@ public:
 
 protected:
   vtkBiQuadraticQuadraticWedge ();
-  ~vtkBiQuadraticQuadraticWedge ();
+  ~vtkBiQuadraticQuadraticWedge () VTK_OVERRIDE;
 
   vtkQuadraticEdge *Edge;
   vtkQuadraticTriangle *TriangleFace;
diff --git a/Common/DataModel/vtkBiQuadraticTriangle.h b/Common/DataModel/vtkBiQuadraticTriangle.h
index 8213cd03c2a..bd0aef9f1b1 100644
--- a/Common/DataModel/vtkBiQuadraticTriangle.h
+++ b/Common/DataModel/vtkBiQuadraticTriangle.h
@@ -121,7 +121,7 @@ public:
 
 protected:
   vtkBiQuadraticTriangle();
-  ~vtkBiQuadraticTriangle();
+  ~vtkBiQuadraticTriangle() VTK_OVERRIDE;
 
   vtkQuadraticEdge *Edge;
   vtkTriangle      *Face;
diff --git a/Common/DataModel/vtkBox.h b/Common/DataModel/vtkBox.h
index e5a16abfecb..62688612787 100644
--- a/Common/DataModel/vtkBox.h
+++ b/Common/DataModel/vtkBox.h
@@ -110,7 +110,7 @@ public:
 
 protected:
   vtkBox();
-  ~vtkBox();
+  ~vtkBox() VTK_OVERRIDE;
 
   vtkBoundingBox *BBox;
   double Bounds[6]; //supports the GetBounds() method
diff --git a/Common/DataModel/vtkCell.h b/Common/DataModel/vtkCell.h
index 7d7c2572dc0..320733733d8 100644
--- a/Common/DataModel/vtkCell.h
+++ b/Common/DataModel/vtkCell.h
@@ -318,7 +318,7 @@ public:
 
 protected:
   vtkCell();
-  ~vtkCell();
+  ~vtkCell() VTK_OVERRIDE;
 
   double Bounds[6];
 
diff --git a/Common/DataModel/vtkCell3D.h b/Common/DataModel/vtkCell3D.h
index cbbddce1d6b..ddb789df71e 100644
--- a/Common/DataModel/vtkCell3D.h
+++ b/Common/DataModel/vtkCell3D.h
@@ -91,7 +91,7 @@ public:
 
 protected:
   vtkCell3D();
-  ~vtkCell3D();
+  ~vtkCell3D() VTK_OVERRIDE;
 
   vtkOrderedTriangulator *Triangulator;
   double                  MergeTolerance;
diff --git a/Common/DataModel/vtkCellArray.h b/Common/DataModel/vtkCellArray.h
index bdff29304a0..aeb31cea678 100644
--- a/Common/DataModel/vtkCellArray.h
+++ b/Common/DataModel/vtkCellArray.h
@@ -233,7 +233,7 @@ public:
 
 protected:
   vtkCellArray();
-  ~vtkCellArray();
+  ~vtkCellArray() VTK_OVERRIDE;
 
   vtkIdType NumberOfCells;
   vtkIdType InsertLocation;     //keep track of current insertion point
diff --git a/Common/DataModel/vtkCellData.h b/Common/DataModel/vtkCellData.h
index e96d3f99daa..37174f14101 100644
--- a/Common/DataModel/vtkCellData.h
+++ b/Common/DataModel/vtkCellData.h
@@ -36,7 +36,7 @@ public:
 
 protected:
   vtkCellData() {} //make sure constructor and desctructor are protected
-  ~vtkCellData() {}
+  ~vtkCellData() VTK_OVERRIDE {}
 
 private:
   vtkCellData(const vtkCellData&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkCellIterator.h b/Common/DataModel/vtkCellIterator.h
index 0150ead35e7..af53f5c771a 100644
--- a/Common/DataModel/vtkCellIterator.h
+++ b/Common/DataModel/vtkCellIterator.h
@@ -137,7 +137,7 @@ public:
 
 protected:
   vtkCellIterator();
-  ~vtkCellIterator();
+  ~vtkCellIterator() VTK_OVERRIDE;
 
   // Description:
   // Update internal state to point to the first cell.
diff --git a/Common/DataModel/vtkCellLinks.h b/Common/DataModel/vtkCellLinks.h
index 3e21a599613..db6cc3e068e 100644
--- a/Common/DataModel/vtkCellLinks.h
+++ b/Common/DataModel/vtkCellLinks.h
@@ -140,7 +140,7 @@ public:
 
 protected:
   vtkCellLinks():Array(NULL),Size(0),MaxId(-1),Extend(1000) {}
-  virtual ~vtkCellLinks();
+  ~vtkCellLinks() VTK_OVERRIDE;
 
   // Description:
   // Increment the count of the number of cells using the point.
diff --git a/Common/DataModel/vtkCellLocator.h b/Common/DataModel/vtkCellLocator.h
index 4023d7b927d..84484c7b712 100644
--- a/Common/DataModel/vtkCellLocator.h
+++ b/Common/DataModel/vtkCellLocator.h
@@ -152,7 +152,7 @@ public:
 
 protected:
   vtkCellLocator();
-  ~vtkCellLocator();
+  ~vtkCellLocator() VTK_OVERRIDE;
 
   void GetBucketNeighbors(int ijk[3], int ndivs, int level);
   void GetOverlappingBuckets(double x[3], int ijk[3], double dist,
diff --git a/Common/DataModel/vtkCellTypes.h b/Common/DataModel/vtkCellTypes.h
index 595c3c7ba00..31acc78076d 100644
--- a/Common/DataModel/vtkCellTypes.h
+++ b/Common/DataModel/vtkCellTypes.h
@@ -128,7 +128,7 @@ public:
 
 protected:
   vtkCellTypes();
-  ~vtkCellTypes();
+  ~vtkCellTypes() VTK_OVERRIDE;
 
   vtkUnsignedCharArray *TypeArray; // pointer to types array
   vtkIntArray *LocationArray;   // pointer to array of offsets
diff --git a/Common/DataModel/vtkCompositeDataIterator.h b/Common/DataModel/vtkCompositeDataIterator.h
index 55e9cb5e4c1..44890dedebb 100644
--- a/Common/DataModel/vtkCompositeDataIterator.h
+++ b/Common/DataModel/vtkCompositeDataIterator.h
@@ -95,7 +95,7 @@ public:
 
 protected:
   vtkCompositeDataIterator();
-  virtual ~vtkCompositeDataIterator();
+  ~vtkCompositeDataIterator() VTK_OVERRIDE;
   int SkipEmptyNodes;
   int Reverse;
   vtkCompositeDataSet* DataSet;
diff --git a/Common/DataModel/vtkCompositeDataSet.h b/Common/DataModel/vtkCompositeDataSet.h
index 637f05f5fa1..7579c896dfe 100644
--- a/Common/DataModel/vtkCompositeDataSet.h
+++ b/Common/DataModel/vtkCompositeDataSet.h
@@ -114,7 +114,7 @@ public:
 
  protected:
   vtkCompositeDataSet();
-  virtual ~vtkCompositeDataSet();
+  ~vtkCompositeDataSet() VTK_OVERRIDE;
  private:
 
   vtkCompositeDataSet(const vtkCompositeDataSet&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkCone.h b/Common/DataModel/vtkCone.h
index 121e234957d..7b5a90a7868 100644
--- a/Common/DataModel/vtkCone.h
+++ b/Common/DataModel/vtkCone.h
@@ -58,7 +58,7 @@ public:
 
 protected:
   vtkCone();
-  ~vtkCone() {}
+  ~vtkCone() VTK_OVERRIDE {}
 
   double Angle;
 
diff --git a/Common/DataModel/vtkConvexPointSet.h b/Common/DataModel/vtkConvexPointSet.h
index 67a903a439f..05607092e58 100644
--- a/Common/DataModel/vtkConvexPointSet.h
+++ b/Common/DataModel/vtkConvexPointSet.h
@@ -147,7 +147,7 @@ public:
 
 protected:
   vtkConvexPointSet();
-  ~vtkConvexPointSet();
+  ~vtkConvexPointSet() VTK_OVERRIDE;
 
   vtkTetra       *Tetra;
   vtkIdList      *TetraIds;
diff --git a/Common/DataModel/vtkCubicLine.h b/Common/DataModel/vtkCubicLine.h
index b3c177a4a77..d2c8eaf7294 100644
--- a/Common/DataModel/vtkCubicLine.h
+++ b/Common/DataModel/vtkCubicLine.h
@@ -114,7 +114,7 @@ public:
 
 protected:
   vtkCubicLine();
-  ~vtkCubicLine();
+  ~vtkCubicLine() VTK_OVERRIDE;
 
   vtkLine *Line;
   vtkDoubleArray *Scalars; //used to avoid New/Delete in contouring/clipping
diff --git a/Common/DataModel/vtkCylinder.h b/Common/DataModel/vtkCylinder.h
index 585902ff294..13e639cda9d 100644
--- a/Common/DataModel/vtkCylinder.h
+++ b/Common/DataModel/vtkCylinder.h
@@ -77,7 +77,7 @@ public:
 
 protected:
   vtkCylinder();
-  ~vtkCylinder() {}
+  ~vtkCylinder() VTK_OVERRIDE {}
 
   double Radius;
   double Center[3];
diff --git a/Common/DataModel/vtkDataObject.h b/Common/DataModel/vtkDataObject.h
index dfb1d2585f0..f15dfbf084d 100644
--- a/Common/DataModel/vtkDataObject.h
+++ b/Common/DataModel/vtkDataObject.h
@@ -357,7 +357,7 @@ public:
 protected:
 
   vtkDataObject();
-  ~vtkDataObject();
+  ~vtkDataObject() VTK_OVERRIDE;
 
   // General field data associated with data object
   vtkFieldData  *FieldData;
diff --git a/Common/DataModel/vtkDataObjectCollection.h b/Common/DataModel/vtkDataObjectCollection.h
index 6295244d0b7..a7f8662ea1c 100644
--- a/Common/DataModel/vtkDataObjectCollection.h
+++ b/Common/DataModel/vtkDataObjectCollection.h
@@ -62,7 +62,7 @@ public:
 
 protected:
   vtkDataObjectCollection() {}
-  ~vtkDataObjectCollection() {}
+  ~vtkDataObjectCollection() VTK_OVERRIDE {}
 
 
 private:
diff --git a/Common/DataModel/vtkDataObjectTree.h b/Common/DataModel/vtkDataObjectTree.h
index 016b6a16896..76bd7121d6d 100644
--- a/Common/DataModel/vtkDataObjectTree.h
+++ b/Common/DataModel/vtkDataObjectTree.h
@@ -126,7 +126,7 @@ public:
 
 protected:
   vtkDataObjectTree();
-  ~vtkDataObjectTree();
+  ~vtkDataObjectTree() VTK_OVERRIDE;
 
   // Description:
   // Set the number of children.
diff --git a/Common/DataModel/vtkDataObjectTreeIterator.h b/Common/DataModel/vtkDataObjectTreeIterator.h
index c3bb86dce5d..1ac8e3237c5 100644
--- a/Common/DataModel/vtkDataObjectTreeIterator.h
+++ b/Common/DataModel/vtkDataObjectTreeIterator.h
@@ -96,7 +96,7 @@ public:
 
 protected:
   vtkDataObjectTreeIterator();
-  virtual ~vtkDataObjectTreeIterator();
+  ~vtkDataObjectTreeIterator() VTK_OVERRIDE;
 
   // Takes the current location to the next dataset. This traverses the tree in
   // preorder fashion.
diff --git a/Common/DataModel/vtkDataObjectTypes.h b/Common/DataModel/vtkDataObjectTypes.h
index 43d8f88c651..db1b18ee0ba 100644
--- a/Common/DataModel/vtkDataObjectTypes.h
+++ b/Common/DataModel/vtkDataObjectTypes.h
@@ -57,7 +57,7 @@ public:
 
 protected:
   vtkDataObjectTypes() {}
-  ~vtkDataObjectTypes() {}
+  ~vtkDataObjectTypes() VTK_OVERRIDE {}
 
   // Description:
   // Method used to validate data object types, for testing purposes
diff --git a/Common/DataModel/vtkDataSet.h b/Common/DataModel/vtkDataSet.h
index 6b86a310802..a5a699b1dba 100644
--- a/Common/DataModel/vtkDataSet.h
+++ b/Common/DataModel/vtkDataSet.h
@@ -406,7 +406,7 @@ public:
 protected:
   // Constructor with default bounds (0,1, 0,1, 0,1).
   vtkDataSet();
-  ~vtkDataSet();
+  ~vtkDataSet() VTK_OVERRIDE;
 
   // Description:
   // Compute the range of the scalars and cache it into ScalarRange
diff --git a/Common/DataModel/vtkDataSetAttributes.h b/Common/DataModel/vtkDataSetAttributes.h
index fae14dd5439..0a065260546 100644
--- a/Common/DataModel/vtkDataSetAttributes.h
+++ b/Common/DataModel/vtkDataSetAttributes.h
@@ -508,7 +508,7 @@ public:
 
 protected:
   vtkDataSetAttributes();
-  ~vtkDataSetAttributes();
+  ~vtkDataSetAttributes() VTK_OVERRIDE;
 
   void InternalCopyAllocate(vtkDataSetAttributes* pd,
                             int ctype,
diff --git a/Common/DataModel/vtkDataSetCellIterator.h b/Common/DataModel/vtkDataSetCellIterator.h
index 02b1d17619a..14af9609f83 100644
--- a/Common/DataModel/vtkDataSetCellIterator.h
+++ b/Common/DataModel/vtkDataSetCellIterator.h
@@ -36,7 +36,7 @@ public:
 
 protected:
   vtkDataSetCellIterator();
-  ~vtkDataSetCellIterator();
+  ~vtkDataSetCellIterator() VTK_OVERRIDE;
 
   void ResetToFirstCell() VTK_OVERRIDE;
   void IncrementToNextCell() VTK_OVERRIDE;
diff --git a/Common/DataModel/vtkDataSetCollection.h b/Common/DataModel/vtkDataSetCollection.h
index e04942647b0..280fab743e0 100644
--- a/Common/DataModel/vtkDataSetCollection.h
+++ b/Common/DataModel/vtkDataSetCollection.h
@@ -60,7 +60,7 @@ public:
 
 protected:
   vtkDataSetCollection() {}
-  ~vtkDataSetCollection() {}
+  ~vtkDataSetCollection() VTK_OVERRIDE {}
 
 private:
   // hide the standard AddItem from the user and the compiler.
diff --git a/Common/DataModel/vtkDirectedAcyclicGraph.h b/Common/DataModel/vtkDirectedAcyclicGraph.h
index 681fc9af327..b24c79a1cb4 100644
--- a/Common/DataModel/vtkDirectedAcyclicGraph.h
+++ b/Common/DataModel/vtkDirectedAcyclicGraph.h
@@ -66,7 +66,7 @@ public:
 
 protected:
   vtkDirectedAcyclicGraph();
-  ~vtkDirectedAcyclicGraph();
+  ~vtkDirectedAcyclicGraph() VTK_OVERRIDE;
 
   // Description:
   // Check the storage, and accept it if it is a valid
diff --git a/Common/DataModel/vtkDirectedGraph.h b/Common/DataModel/vtkDirectedGraph.h
index 99fe70f75da..4c29c207a05 100644
--- a/Common/DataModel/vtkDirectedGraph.h
+++ b/Common/DataModel/vtkDirectedGraph.h
@@ -62,7 +62,7 @@ public:
 
 protected:
   vtkDirectedGraph();
-  ~vtkDirectedGraph();
+  ~vtkDirectedGraph() VTK_OVERRIDE;
 
 private:
   vtkDirectedGraph(const vtkDirectedGraph&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkDistributedGraphHelper.h b/Common/DataModel/vtkDistributedGraphHelper.h
index 21358729b2a..7af2b50bee5 100644
--- a/Common/DataModel/vtkDistributedGraphHelper.h
+++ b/Common/DataModel/vtkDistributedGraphHelper.h
@@ -136,7 +136,7 @@ class VTKCOMMONDATAMODEL_EXPORT vtkDistributedGraphHelper : public vtkObject
 
  protected:
   vtkDistributedGraphHelper();
-  virtual ~vtkDistributedGraphHelper();
+  ~vtkDistributedGraphHelper() VTK_OVERRIDE;
 
   // Description:
   // Add a vertex, optionally with properties, to the distributed graph.
diff --git a/Common/DataModel/vtkEdgeListIterator.h b/Common/DataModel/vtkEdgeListIterator.h
index cbc226c11bd..36af068a067 100644
--- a/Common/DataModel/vtkEdgeListIterator.h
+++ b/Common/DataModel/vtkEdgeListIterator.h
@@ -72,7 +72,7 @@ public:
 
 protected:
   vtkEdgeListIterator();
-  ~vtkEdgeListIterator();
+  ~vtkEdgeListIterator() VTK_OVERRIDE;
 
   void Increment();
 
diff --git a/Common/DataModel/vtkEdgeTable.h b/Common/DataModel/vtkEdgeTable.h
index e788d89c666..b28f4a090ce 100644
--- a/Common/DataModel/vtkEdgeTable.h
+++ b/Common/DataModel/vtkEdgeTable.h
@@ -146,7 +146,7 @@ public:
 
 protected:
   vtkEdgeTable();
-  ~vtkEdgeTable();
+  ~vtkEdgeTable() VTK_OVERRIDE;
 
   vtkIdList **Table;
   vtkIdType TableMaxId; //maximum point id inserted
diff --git a/Common/DataModel/vtkEmptyCell.h b/Common/DataModel/vtkEmptyCell.h
index 4941b66673b..62a76256222 100644
--- a/Common/DataModel/vtkEmptyCell.h
+++ b/Common/DataModel/vtkEmptyCell.h
@@ -63,7 +63,7 @@ public:
 
 protected:
   vtkEmptyCell() {}
-  ~vtkEmptyCell() {}
+  ~vtkEmptyCell() VTK_OVERRIDE {}
 
 private:
   vtkEmptyCell(const vtkEmptyCell&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkExtractStructuredGridHelper.h b/Common/DataModel/vtkExtractStructuredGridHelper.h
index dd290659954..ed64163b87a 100644
--- a/Common/DataModel/vtkExtractStructuredGridHelper.h
+++ b/Common/DataModel/vtkExtractStructuredGridHelper.h
@@ -201,7 +201,7 @@ public:
 
 protected:
   vtkExtractStructuredGridHelper();
-  ~vtkExtractStructuredGridHelper();
+  ~vtkExtractStructuredGridHelper() VTK_OVERRIDE;
 
   // Input parameters -- used to reinitialize when data changes.
   int VOI[6];
diff --git a/Common/DataModel/vtkFieldData.h b/Common/DataModel/vtkFieldData.h
index bc11a0fbdf2..fa33b00b944 100644
--- a/Common/DataModel/vtkFieldData.h
+++ b/Common/DataModel/vtkFieldData.h
@@ -297,7 +297,7 @@ public:
 protected:
 
   vtkFieldData();
-  ~vtkFieldData();
+  ~vtkFieldData() VTK_OVERRIDE;
 
   int NumberOfArrays;
   int NumberOfActiveArrays;
@@ -380,7 +380,7 @@ public:
 
     Iterator(const Iterator& source);
     Iterator& operator=(const Iterator& source);
-    virtual ~Iterator();
+    ~Iterator() VTK_OVERRIDE;
     Iterator(vtkFieldData* dsa, const int* list=0,
              unsigned int listSize=0);
 
diff --git a/Common/DataModel/vtkGenericAdaptorCell.h b/Common/DataModel/vtkGenericAdaptorCell.h
index 54de64e4bc0..880271eedf6 100644
--- a/Common/DataModel/vtkGenericAdaptorCell.h
+++ b/Common/DataModel/vtkGenericAdaptorCell.h
@@ -556,7 +556,7 @@ public:
 
 protected:
   vtkGenericAdaptorCell();
-  virtual ~vtkGenericAdaptorCell();
+  ~vtkGenericAdaptorCell() VTK_OVERRIDE;
 
   // Description:
   // Reset internal structures.
diff --git a/Common/DataModel/vtkGenericAttribute.h b/Common/DataModel/vtkGenericAttribute.h
index 7d75787d97f..089cda41f63 100644
--- a/Common/DataModel/vtkGenericAttribute.h
+++ b/Common/DataModel/vtkGenericAttribute.h
@@ -193,7 +193,7 @@ class VTKCOMMONDATAMODEL_EXPORT vtkGenericAttribute : public vtkObject
 
 protected:
   vtkGenericAttribute();
-  ~vtkGenericAttribute();
+  ~vtkGenericAttribute() VTK_OVERRIDE;
 
 private:
   vtkGenericAttribute(const vtkGenericAttribute&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkGenericAttributeCollection.h b/Common/DataModel/vtkGenericAttributeCollection.h
index d3a5fe7d10c..5d236973265 100644
--- a/Common/DataModel/vtkGenericAttributeCollection.h
+++ b/Common/DataModel/vtkGenericAttributeCollection.h
@@ -206,7 +206,7 @@ protected:
 
   // Description:
   // Destructor.
-  virtual ~vtkGenericAttributeCollection();
+  ~vtkGenericAttributeCollection() VTK_OVERRIDE;
 
   // Description:
   // STL vector for storing attributes
diff --git a/Common/DataModel/vtkGenericCell.h b/Common/DataModel/vtkGenericCell.h
index e256e4eb74a..b7cdfe20cce 100644
--- a/Common/DataModel/vtkGenericCell.h
+++ b/Common/DataModel/vtkGenericCell.h
@@ -153,7 +153,7 @@ public:
 
 protected:
   vtkGenericCell();
-  ~vtkGenericCell();
+  ~vtkGenericCell() VTK_OVERRIDE;
 
   vtkCell *Cell;
 
diff --git a/Common/DataModel/vtkGenericCellIterator.h b/Common/DataModel/vtkGenericCellIterator.h
index 7048a7ef73f..9291ee371e2 100644
--- a/Common/DataModel/vtkGenericCellIterator.h
+++ b/Common/DataModel/vtkGenericCellIterator.h
@@ -78,7 +78,7 @@ public:
 
 protected:
   vtkGenericCellIterator();
-  virtual ~vtkGenericCellIterator();
+  ~vtkGenericCellIterator() VTK_OVERRIDE;
 
 private:
   vtkGenericCellIterator(const vtkGenericCellIterator&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkGenericCellTessellator.h b/Common/DataModel/vtkGenericCellTessellator.h
index c59ddd9fcae..49ed9a611c8 100644
--- a/Common/DataModel/vtkGenericCellTessellator.h
+++ b/Common/DataModel/vtkGenericCellTessellator.h
@@ -136,7 +136,7 @@ public:
 
 protected:
   vtkGenericCellTessellator();
-  ~vtkGenericCellTessellator();
+  ~vtkGenericCellTessellator() VTK_OVERRIDE;
 
   // Description:
   // Does the edge need to be subdivided according to at least one error
diff --git a/Common/DataModel/vtkGenericDataSet.h b/Common/DataModel/vtkGenericDataSet.h
index 5c2f21ba4d2..f032c0e4794 100644
--- a/Common/DataModel/vtkGenericDataSet.h
+++ b/Common/DataModel/vtkGenericDataSet.h
@@ -246,7 +246,7 @@ protected:
   // empty attribute collection and default tessellator.
   vtkGenericDataSet();
 
-  virtual ~vtkGenericDataSet();
+  ~vtkGenericDataSet() VTK_OVERRIDE;
 
   vtkGenericAttributeCollection *Attributes;
 
diff --git a/Common/DataModel/vtkGenericEdgeTable.h b/Common/DataModel/vtkGenericEdgeTable.h
index 613906c3c63..b694d047321 100644
--- a/Common/DataModel/vtkGenericEdgeTable.h
+++ b/Common/DataModel/vtkGenericEdgeTable.h
@@ -222,7 +222,7 @@ public:
 
 protected:
   vtkGenericEdgeTable();
-  ~vtkGenericEdgeTable();
+  ~vtkGenericEdgeTable() VTK_OVERRIDE;
 
   // Description:
   // Split the edge with the indicated point id.
diff --git a/Common/DataModel/vtkGenericInterpolatedVelocityField.h b/Common/DataModel/vtkGenericInterpolatedVelocityField.h
index dc52169fe93..ef866e9f2a6 100644
--- a/Common/DataModel/vtkGenericInterpolatedVelocityField.h
+++ b/Common/DataModel/vtkGenericInterpolatedVelocityField.h
@@ -121,7 +121,7 @@ public:
 
 protected:
   vtkGenericInterpolatedVelocityField();
-  ~vtkGenericInterpolatedVelocityField();
+  ~vtkGenericInterpolatedVelocityField() VTK_OVERRIDE;
 
   vtkGenericCellIterator *GenCell; // last cell
 
diff --git a/Common/DataModel/vtkGenericPointIterator.h b/Common/DataModel/vtkGenericPointIterator.h
index af22995e981..31b9964fca8 100644
--- a/Common/DataModel/vtkGenericPointIterator.h
+++ b/Common/DataModel/vtkGenericPointIterator.h
@@ -76,7 +76,7 @@ protected:
   // Description:
   // Destructor.
   vtkGenericPointIterator();
-  virtual ~vtkGenericPointIterator();
+  ~vtkGenericPointIterator() VTK_OVERRIDE;
 
 private:
   vtkGenericPointIterator(const vtkGenericPointIterator&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkGenericSubdivisionErrorMetric.h b/Common/DataModel/vtkGenericSubdivisionErrorMetric.h
index 202b85402ca..c81f0e2a0f8 100644
--- a/Common/DataModel/vtkGenericSubdivisionErrorMetric.h
+++ b/Common/DataModel/vtkGenericSubdivisionErrorMetric.h
@@ -97,7 +97,7 @@ public:
 
 protected:
   vtkGenericSubdivisionErrorMetric();
-  ~vtkGenericSubdivisionErrorMetric();
+  ~vtkGenericSubdivisionErrorMetric() VTK_OVERRIDE;
 
   vtkGenericAdaptorCell *GenericCell;
   vtkGenericDataSet *DataSet;
diff --git a/Common/DataModel/vtkGeometricErrorMetric.h b/Common/DataModel/vtkGeometricErrorMetric.h
index 49e9a13c41f..1263ff5e611 100644
--- a/Common/DataModel/vtkGeometricErrorMetric.h
+++ b/Common/DataModel/vtkGeometricErrorMetric.h
@@ -108,7 +108,7 @@ public:
 
 protected:
   vtkGeometricErrorMetric();
-  virtual ~vtkGeometricErrorMetric();
+  ~vtkGeometricErrorMetric() VTK_OVERRIDE;
 
   // Description:
   // Square distance between a straight line (defined by points x and y)
diff --git a/Common/DataModel/vtkGraph.h b/Common/DataModel/vtkGraph.h
index 4c46b15fe48..94f3aee021d 100644
--- a/Common/DataModel/vtkGraph.h
+++ b/Common/DataModel/vtkGraph.h
@@ -571,7 +571,7 @@ public:
 protected:
 
   vtkGraph();
-  ~vtkGraph();
+  ~vtkGraph() VTK_OVERRIDE;
 
   // Description:
   // Protected method for adding vertices, optionally with properties,
diff --git a/Common/DataModel/vtkGraphEdge.h b/Common/DataModel/vtkGraphEdge.h
index 1a369870d40..cc12fd4d714 100644
--- a/Common/DataModel/vtkGraphEdge.h
+++ b/Common/DataModel/vtkGraphEdge.h
@@ -57,7 +57,7 @@ public:
 
 protected:
   vtkGraphEdge();
-  ~vtkGraphEdge();
+  ~vtkGraphEdge() VTK_OVERRIDE;
 
   vtkIdType Source;
   vtkIdType Target;
diff --git a/Common/DataModel/vtkGraphInternals.h b/Common/DataModel/vtkGraphInternals.h
index 844f5c5698a..c925ab1b9a6 100644
--- a/Common/DataModel/vtkGraphInternals.h
+++ b/Common/DataModel/vtkGraphInternals.h
@@ -84,7 +84,7 @@ public:
 
 protected:
   vtkGraphInternals();
-  ~vtkGraphInternals();
+  ~vtkGraphInternals() VTK_OVERRIDE;
 
 private:
   vtkGraphInternals(const vtkGraphInternals&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkHexagonalPrism.h b/Common/DataModel/vtkHexagonalPrism.h
index 8ab2033c9af..5422a4922a8 100644
--- a/Common/DataModel/vtkHexagonalPrism.h
+++ b/Common/DataModel/vtkHexagonalPrism.h
@@ -110,7 +110,7 @@ public:
 
 protected:
   vtkHexagonalPrism();
-  ~vtkHexagonalPrism();
+  ~vtkHexagonalPrism() VTK_OVERRIDE;
 
   vtkLine          *Line;
   vtkQuad          *Quad;
diff --git a/Common/DataModel/vtkHexahedron.h b/Common/DataModel/vtkHexahedron.h
index 3f15cc3600c..6486a86f4ec 100644
--- a/Common/DataModel/vtkHexahedron.h
+++ b/Common/DataModel/vtkHexahedron.h
@@ -105,7 +105,7 @@ public:
 
 protected:
   vtkHexahedron();
-  ~vtkHexahedron();
+  ~vtkHexahedron() VTK_OVERRIDE;
 
   vtkLine *Line;
   vtkQuad *Quad;
diff --git a/Common/DataModel/vtkHierarchicalBoxDataIterator.h b/Common/DataModel/vtkHierarchicalBoxDataIterator.h
index 57a6ba7b61e..c7b46658723 100644
--- a/Common/DataModel/vtkHierarchicalBoxDataIterator.h
+++ b/Common/DataModel/vtkHierarchicalBoxDataIterator.h
@@ -32,7 +32,7 @@ class VTKCOMMONDATAMODEL_EXPORT vtkHierarchicalBoxDataIterator :
 
   protected:
     vtkHierarchicalBoxDataIterator();
-    virtual ~vtkHierarchicalBoxDataIterator();
+    ~vtkHierarchicalBoxDataIterator() VTK_OVERRIDE;
 
   private:
     vtkHierarchicalBoxDataIterator(const vtkHierarchicalBoxDataIterator&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkHierarchicalBoxDataSet.h b/Common/DataModel/vtkHierarchicalBoxDataSet.h
index 423afb30393..72c992c6b35 100644
--- a/Common/DataModel/vtkHierarchicalBoxDataSet.h
+++ b/Common/DataModel/vtkHierarchicalBoxDataSet.h
@@ -51,7 +51,7 @@ public:
 
 protected:
   vtkHierarchicalBoxDataSet();
-  virtual ~vtkHierarchicalBoxDataSet();
+  ~vtkHierarchicalBoxDataSet() VTK_OVERRIDE;
 
 private:
   vtkHierarchicalBoxDataSet(const vtkHierarchicalBoxDataSet&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkHyperOctree.h b/Common/DataModel/vtkHyperOctree.h
index fa4c602c36f..ac35bf9a726 100644
--- a/Common/DataModel/vtkHyperOctree.h
+++ b/Common/DataModel/vtkHyperOctree.h
@@ -486,7 +486,7 @@ public:
 protected:
   // Constructor with default bounds (0,1, 0,1, 0,1).
   vtkHyperOctree();
-  ~vtkHyperOctree();
+  ~vtkHyperOctree() VTK_OVERRIDE;
 
   void ComputeBounds() VTK_OVERRIDE;
 
diff --git a/Common/DataModel/vtkHyperOctreeCursor.h b/Common/DataModel/vtkHyperOctreeCursor.h
index 09da655d3c9..76b6a454ea0 100644
--- a/Common/DataModel/vtkHyperOctreeCursor.h
+++ b/Common/DataModel/vtkHyperOctreeCursor.h
@@ -157,7 +157,7 @@ public:
 protected:
   // Constructor.
   vtkHyperOctreeCursor();
-  virtual ~vtkHyperOctreeCursor();
+  ~vtkHyperOctreeCursor() VTK_OVERRIDE;
 private:
   vtkHyperOctreeCursor(const vtkHyperOctreeCursor&) VTK_DELETE_FUNCTION;
   void operator=(const vtkHyperOctreeCursor&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkHyperOctreePointsGrabber.h b/Common/DataModel/vtkHyperOctreePointsGrabber.h
index 300138fd4c7..b7cfa8c71ab 100644
--- a/Common/DataModel/vtkHyperOctreePointsGrabber.h
+++ b/Common/DataModel/vtkHyperOctreePointsGrabber.h
@@ -80,7 +80,7 @@ public:
 protected:
   // Constructor with default bounds (0,1, 0,1, 0,1).
   vtkHyperOctreePointsGrabber();
-  virtual ~vtkHyperOctreePointsGrabber();
+  ~vtkHyperOctreePointsGrabber() VTK_OVERRIDE;
 
   int Dimension;
 
diff --git a/Common/DataModel/vtkHyperTreeCursor.h b/Common/DataModel/vtkHyperTreeCursor.h
index 6b2b95ef443..b99032af5bf 100644
--- a/Common/DataModel/vtkHyperTreeCursor.h
+++ b/Common/DataModel/vtkHyperTreeCursor.h
@@ -170,7 +170,7 @@ public:
 protected:
   // Constructor.
   vtkHyperTreeCursor();
-  virtual ~vtkHyperTreeCursor();
+  ~vtkHyperTreeCursor() VTK_OVERRIDE;
 
 private:
   vtkHyperTreeCursor(const vtkHyperTreeCursor&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkHyperTreeGrid.h b/Common/DataModel/vtkHyperTreeGrid.h
index 1eb849c3eba..5b6545f7e9f 100644
--- a/Common/DataModel/vtkHyperTreeGrid.h
+++ b/Common/DataModel/vtkHyperTreeGrid.h
@@ -355,7 +355,7 @@ public:
 protected:
   // Constructor with default bounds (0,1, 0,1, 0,1).
   vtkHyperTreeGrid();
-  ~vtkHyperTreeGrid();
+  ~vtkHyperTreeGrid() VTK_OVERRIDE;
 
   void ComputeBounds() VTK_OVERRIDE;
 
diff --git a/Common/DataModel/vtkImageData.h b/Common/DataModel/vtkImageData.h
index 32f23be39a5..a90666f295d 100644
--- a/Common/DataModel/vtkImageData.h
+++ b/Common/DataModel/vtkImageData.h
@@ -364,7 +364,7 @@ public:
 
 protected:
   vtkImageData();
-  ~vtkImageData();
+  ~vtkImageData() VTK_OVERRIDE;
 
   // The extent of what is currently in the structured grid.
   // Dimensions is just an array to return a value.
diff --git a/Common/DataModel/vtkImplicitBoolean.h b/Common/DataModel/vtkImplicitBoolean.h
index 3226790b249..f7df4883f0c 100644
--- a/Common/DataModel/vtkImplicitBoolean.h
+++ b/Common/DataModel/vtkImplicitBoolean.h
@@ -97,7 +97,7 @@ public:
 
 protected:
   vtkImplicitBoolean();
-  ~vtkImplicitBoolean();
+  ~vtkImplicitBoolean() VTK_OVERRIDE;
 
   vtkImplicitFunctionCollection *FunctionList;
 
diff --git a/Common/DataModel/vtkImplicitDataSet.h b/Common/DataModel/vtkImplicitDataSet.h
index be46204cdda..3ce15e07c8c 100644
--- a/Common/DataModel/vtkImplicitDataSet.h
+++ b/Common/DataModel/vtkImplicitDataSet.h
@@ -85,7 +85,7 @@ public:
 
 protected:
   vtkImplicitDataSet();
-  ~vtkImplicitDataSet();
+  ~vtkImplicitDataSet() VTK_OVERRIDE;
 
   void ReportReferences(vtkGarbageCollector*) VTK_OVERRIDE;
 
diff --git a/Common/DataModel/vtkImplicitFunction.h b/Common/DataModel/vtkImplicitFunction.h
index 7725b80ed53..8be5434fe3b 100644
--- a/Common/DataModel/vtkImplicitFunction.h
+++ b/Common/DataModel/vtkImplicitFunction.h
@@ -105,7 +105,7 @@ public:
 
 protected:
   vtkImplicitFunction();
-  ~vtkImplicitFunction();
+  ~vtkImplicitFunction() VTK_OVERRIDE;
 
   vtkAbstractTransform *Transform;
   double ReturnValue[3];
diff --git a/Common/DataModel/vtkImplicitFunctionCollection.h b/Common/DataModel/vtkImplicitFunctionCollection.h
index 1eb9c18b2c2..7cb190bed15 100644
--- a/Common/DataModel/vtkImplicitFunctionCollection.h
+++ b/Common/DataModel/vtkImplicitFunctionCollection.h
@@ -53,7 +53,7 @@ public:
 
 protected:
   vtkImplicitFunctionCollection() {}
-  ~vtkImplicitFunctionCollection() {}
+  ~vtkImplicitFunctionCollection() VTK_OVERRIDE {}
 
 
 private:
diff --git a/Common/DataModel/vtkImplicitHalo.h b/Common/DataModel/vtkImplicitHalo.h
index ace0fb43982..3b8a1c790a7 100644
--- a/Common/DataModel/vtkImplicitHalo.h
+++ b/Common/DataModel/vtkImplicitHalo.h
@@ -71,7 +71,7 @@ public:
 
 protected:
   vtkImplicitHalo();
-  virtual ~vtkImplicitHalo();
+  ~vtkImplicitHalo() VTK_OVERRIDE;
 
   double Radius;
   double Center[3];
diff --git a/Common/DataModel/vtkImplicitSelectionLoop.h b/Common/DataModel/vtkImplicitSelectionLoop.h
index daf5cd0991f..c1cc84cd2df 100644
--- a/Common/DataModel/vtkImplicitSelectionLoop.h
+++ b/Common/DataModel/vtkImplicitSelectionLoop.h
@@ -99,7 +99,7 @@ public:
 
 protected:
   vtkImplicitSelectionLoop();
-  ~vtkImplicitSelectionLoop();
+  ~vtkImplicitSelectionLoop() VTK_OVERRIDE;
 
   vtkPoints *Loop;
   double Normal[3];
diff --git a/Common/DataModel/vtkImplicitSum.h b/Common/DataModel/vtkImplicitSum.h
index c1ad2d07a18..fc4d47714f9 100644
--- a/Common/DataModel/vtkImplicitSum.h
+++ b/Common/DataModel/vtkImplicitSum.h
@@ -82,7 +82,7 @@ public:
 
 protected:
   vtkImplicitSum();
-  ~vtkImplicitSum();
+  ~vtkImplicitSum() VTK_OVERRIDE;
 
   vtkImplicitFunctionCollection *FunctionList;
   vtkDoubleArray *Weights;
diff --git a/Common/DataModel/vtkImplicitVolume.h b/Common/DataModel/vtkImplicitVolume.h
index c67f8788332..fcfadb7fdc5 100644
--- a/Common/DataModel/vtkImplicitVolume.h
+++ b/Common/DataModel/vtkImplicitVolume.h
@@ -88,7 +88,7 @@ public:
 
 protected:
   vtkImplicitVolume();
-  ~vtkImplicitVolume();
+  ~vtkImplicitVolume() VTK_OVERRIDE;
 
   vtkImageData *Volume; // the structured points
   double OutValue;
diff --git a/Common/DataModel/vtkImplicitWindowFunction.h b/Common/DataModel/vtkImplicitWindowFunction.h
index 001208d8ee4..3b8ac53952f 100644
--- a/Common/DataModel/vtkImplicitWindowFunction.h
+++ b/Common/DataModel/vtkImplicitWindowFunction.h
@@ -82,7 +82,7 @@ public:
 
 protected:
   vtkImplicitWindowFunction();
-  ~vtkImplicitWindowFunction();
+  ~vtkImplicitWindowFunction() VTK_OVERRIDE;
 
   void ReportReferences(vtkGarbageCollector*) VTK_OVERRIDE;
 
diff --git a/Common/DataModel/vtkInEdgeIterator.h b/Common/DataModel/vtkInEdgeIterator.h
index 2d7e97b7e8d..3a13255ffb8 100644
--- a/Common/DataModel/vtkInEdgeIterator.h
+++ b/Common/DataModel/vtkInEdgeIterator.h
@@ -81,7 +81,7 @@ public:
 
 protected:
   vtkInEdgeIterator();
-  ~vtkInEdgeIterator();
+  ~vtkInEdgeIterator() VTK_OVERRIDE;
 
   // Description:
   // Protected method for setting the graph used
diff --git a/Common/DataModel/vtkIncrementalOctreeNode.h b/Common/DataModel/vtkIncrementalOctreeNode.h
index bd107b3f833..579cf24cd2e 100644
--- a/Common/DataModel/vtkIncrementalOctreeNode.h
+++ b/Common/DataModel/vtkIncrementalOctreeNode.h
@@ -189,7 +189,7 @@ public:
 protected:
 
   vtkIncrementalOctreeNode();
-  ~vtkIncrementalOctreeNode();
+  ~vtkIncrementalOctreeNode() VTK_OVERRIDE;
 
 private:
 
diff --git a/Common/DataModel/vtkIncrementalOctreePointLocator.h b/Common/DataModel/vtkIncrementalOctreePointLocator.h
index 055cea8207d..441e44bc8c3 100644
--- a/Common/DataModel/vtkIncrementalOctreePointLocator.h
+++ b/Common/DataModel/vtkIncrementalOctreePointLocator.h
@@ -279,7 +279,7 @@ public:
 protected:
 
   vtkIncrementalOctreePointLocator();
-  virtual ~vtkIncrementalOctreePointLocator();
+  ~vtkIncrementalOctreePointLocator() VTK_OVERRIDE;
 
 private:
 
diff --git a/Common/DataModel/vtkIncrementalPointLocator.h b/Common/DataModel/vtkIncrementalPointLocator.h
index 097a2875f30..1ee74d49e82 100644
--- a/Common/DataModel/vtkIncrementalPointLocator.h
+++ b/Common/DataModel/vtkIncrementalPointLocator.h
@@ -119,7 +119,7 @@ public:
 
 protected:
   vtkIncrementalPointLocator();
-  virtual ~vtkIncrementalPointLocator();
+  ~vtkIncrementalPointLocator() VTK_OVERRIDE;
 
 private:
   vtkIncrementalPointLocator( const vtkIncrementalPointLocator & ) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkInformationQuadratureSchemeDefinitionVectorKey.h b/Common/DataModel/vtkInformationQuadratureSchemeDefinitionVectorKey.h
index 2d0574c42d7..49f37bc78d3 100644
--- a/Common/DataModel/vtkInformationQuadratureSchemeDefinitionVectorKey.h
+++ b/Common/DataModel/vtkInformationQuadratureSchemeDefinitionVectorKey.h
@@ -42,7 +42,7 @@ public:
           const char* name,
           const char* location);
   //
-  ~vtkInformationQuadratureSchemeDefinitionVectorKey();
+  ~vtkInformationQuadratureSchemeDefinitionVectorKey() VTK_OVERRIDE;
 
   // Description:
   // Clear the vector.
diff --git a/Common/DataModel/vtkIterativeClosestPointTransform.h b/Common/DataModel/vtkIterativeClosestPointTransform.h
index 6ff093d8442..51ce523e473 100644
--- a/Common/DataModel/vtkIterativeClosestPointTransform.h
+++ b/Common/DataModel/vtkIterativeClosestPointTransform.h
@@ -157,7 +157,7 @@ protected:
   vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   vtkIterativeClosestPointTransform();
-  ~vtkIterativeClosestPointTransform();
+  ~vtkIterativeClosestPointTransform() VTK_OVERRIDE;
 
   void InternalUpdate() VTK_OVERRIDE;
 
diff --git a/Common/DataModel/vtkKdNode.h b/Common/DataModel/vtkKdNode.h
index fc0cde5fdb9..a4721d6580c 100644
--- a/Common/DataModel/vtkKdNode.h
+++ b/Common/DataModel/vtkKdNode.h
@@ -228,7 +228,7 @@ public:
 protected:
 
   vtkKdNode();
-  ~vtkKdNode();
+  ~vtkKdNode() VTK_OVERRIDE;
 
 private:
 
diff --git a/Common/DataModel/vtkKdTree.h b/Common/DataModel/vtkKdTree.h
index e46ae16d8ef..469f04d84b6 100644
--- a/Common/DataModel/vtkKdTree.h
+++ b/Common/DataModel/vtkKdTree.h
@@ -542,7 +542,7 @@ public:
 protected:
 
   vtkKdTree();
-  ~vtkKdTree();
+  ~vtkKdTree() VTK_OVERRIDE;
 
   vtkBSPIntersections *BSPCalculator;
   int UserDefinedCuts;
diff --git a/Common/DataModel/vtkKdTreePointLocator.h b/Common/DataModel/vtkKdTreePointLocator.h
index 51fbfa8df1f..8234a263bd2 100644
--- a/Common/DataModel/vtkKdTreePointLocator.h
+++ b/Common/DataModel/vtkKdTreePointLocator.h
@@ -77,7 +77,7 @@ public:
 
 protected:
   vtkKdTreePointLocator();
-  virtual ~vtkKdTreePointLocator();
+  ~vtkKdTreePointLocator() VTK_OVERRIDE;
 
   vtkKdTree* KdTree;
 
diff --git a/Common/DataModel/vtkLine.h b/Common/DataModel/vtkLine.h
index e1ee71e7875..53070d1bd39 100644
--- a/Common/DataModel/vtkLine.h
+++ b/Common/DataModel/vtkLine.h
@@ -164,7 +164,7 @@ public:
 
 protected:
   vtkLine();
-  ~vtkLine() {}
+  ~vtkLine() VTK_OVERRIDE {}
 
 private:
   vtkLine(const vtkLine&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkLocator.h b/Common/DataModel/vtkLocator.h
index e0a5bcc65cc..4c8dead2367 100644
--- a/Common/DataModel/vtkLocator.h
+++ b/Common/DataModel/vtkLocator.h
@@ -139,7 +139,7 @@ public:
 
 protected:
   vtkLocator();
-  ~vtkLocator();
+  ~vtkLocator() VTK_OVERRIDE;
 
   vtkDataSet *DataSet;
   int Automatic; // boolean controls automatic subdivision (or uses user spec.)
diff --git a/Common/DataModel/vtkMeanValueCoordinatesInterpolator.h b/Common/DataModel/vtkMeanValueCoordinatesInterpolator.h
index ec9fcff5a6d..cbd0c7f1d7e 100644
--- a/Common/DataModel/vtkMeanValueCoordinatesInterpolator.h
+++ b/Common/DataModel/vtkMeanValueCoordinatesInterpolator.h
@@ -80,7 +80,7 @@ public:
                                           vtkCellArray *tris, double *weights);
 protected:
   vtkMeanValueCoordinatesInterpolator();
-  ~vtkMeanValueCoordinatesInterpolator();
+  ~vtkMeanValueCoordinatesInterpolator() VTK_OVERRIDE;
 
   // Description:
   // Internal method that sets up the processing of triangular meshes.
diff --git a/Common/DataModel/vtkMergePoints.h b/Common/DataModel/vtkMergePoints.h
index 42c0dbe41d0..0fbc898f1b9 100644
--- a/Common/DataModel/vtkMergePoints.h
+++ b/Common/DataModel/vtkMergePoints.h
@@ -53,7 +53,7 @@ public:
 
 protected:
   vtkMergePoints() {}
-  ~vtkMergePoints() {}
+  ~vtkMergePoints() VTK_OVERRIDE {}
 
 private:
   vtkMergePoints(const vtkMergePoints&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkMolecule.h b/Common/DataModel/vtkMolecule.h
index d2ead81989c..d8cdeec47ac 100644
--- a/Common/DataModel/vtkMolecule.h
+++ b/Common/DataModel/vtkMolecule.h
@@ -291,7 +291,7 @@ public:
 
  protected:
   vtkMolecule();
-  ~vtkMolecule();
+  ~vtkMolecule() VTK_OVERRIDE;
 
   // Description:
   // Copy bonds and atoms.
diff --git a/Common/DataModel/vtkMultiBlockDataSet.h b/Common/DataModel/vtkMultiBlockDataSet.h
index 10a7a427dfa..64876d876ca 100644
--- a/Common/DataModel/vtkMultiBlockDataSet.h
+++ b/Common/DataModel/vtkMultiBlockDataSet.h
@@ -104,7 +104,7 @@ public:
 
 protected:
   vtkMultiBlockDataSet();
-  ~vtkMultiBlockDataSet();
+  ~vtkMultiBlockDataSet() VTK_OVERRIDE;
 
 private:
   vtkMultiBlockDataSet(const vtkMultiBlockDataSet&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkMultiPieceDataSet.h b/Common/DataModel/vtkMultiPieceDataSet.h
index 83a7bdb6a64..b744d2a8c25 100644
--- a/Common/DataModel/vtkMultiPieceDataSet.h
+++ b/Common/DataModel/vtkMultiPieceDataSet.h
@@ -96,7 +96,7 @@ public:
 
 protected:
   vtkMultiPieceDataSet();
-  ~vtkMultiPieceDataSet();
+  ~vtkMultiPieceDataSet() VTK_OVERRIDE;
 
 private:
   vtkMultiPieceDataSet(const vtkMultiPieceDataSet&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkMutableDirectedGraph.h b/Common/DataModel/vtkMutableDirectedGraph.h
index deae29361a9..3c52e3eef94 100644
--- a/Common/DataModel/vtkMutableDirectedGraph.h
+++ b/Common/DataModel/vtkMutableDirectedGraph.h
@@ -305,7 +305,7 @@ public:
 
 protected:
   vtkMutableDirectedGraph();
-  ~vtkMutableDirectedGraph();
+  ~vtkMutableDirectedGraph() VTK_OVERRIDE;
 
   // Description:
   // Graph edge that is reused of \p AddGraphEdge calls.
diff --git a/Common/DataModel/vtkMutableUndirectedGraph.h b/Common/DataModel/vtkMutableUndirectedGraph.h
index 3f530bfbd1e..764d42d0f49 100644
--- a/Common/DataModel/vtkMutableUndirectedGraph.h
+++ b/Common/DataModel/vtkMutableUndirectedGraph.h
@@ -298,7 +298,7 @@ public:
 
 protected:
   vtkMutableUndirectedGraph();
-  ~vtkMutableUndirectedGraph();
+  ~vtkMutableUndirectedGraph() VTK_OVERRIDE;
 
   // Description:
   // Graph edge that is reused of AddGraphEdge calls.
diff --git a/Common/DataModel/vtkNonLinearCell.h b/Common/DataModel/vtkNonLinearCell.h
index 8934c8f9123..96b687117b7 100644
--- a/Common/DataModel/vtkNonLinearCell.h
+++ b/Common/DataModel/vtkNonLinearCell.h
@@ -44,7 +44,7 @@ public:
 
 protected:
   vtkNonLinearCell();
-  ~vtkNonLinearCell() {}
+  ~vtkNonLinearCell() VTK_OVERRIDE {}
 
 private:
   vtkNonLinearCell(const vtkNonLinearCell&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkNonMergingPointLocator.h b/Common/DataModel/vtkNonMergingPointLocator.h
index 6c45dd32ef3..73c34b68a33 100644
--- a/Common/DataModel/vtkNonMergingPointLocator.h
+++ b/Common/DataModel/vtkNonMergingPointLocator.h
@@ -62,7 +62,7 @@ public:
 
 protected:
   vtkNonMergingPointLocator() { };
-  ~vtkNonMergingPointLocator() { };
+  ~vtkNonMergingPointLocator() VTK_OVERRIDE { };
 
 private:
   vtkNonMergingPointLocator( const vtkNonMergingPointLocator & ) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkNonOverlappingAMR.h b/Common/DataModel/vtkNonOverlappingAMR.h
index 0edf0098e75..09e730f6561 100644
--- a/Common/DataModel/vtkNonOverlappingAMR.h
+++ b/Common/DataModel/vtkNonOverlappingAMR.h
@@ -47,7 +47,7 @@ class VTKCOMMONDATAMODEL_EXPORT vtkNonOverlappingAMR : public vtkUniformGridAMR
 
  protected:
   vtkNonOverlappingAMR();
-  virtual ~vtkNonOverlappingAMR();
+  ~vtkNonOverlappingAMR() VTK_OVERRIDE;
 
  private:
   vtkNonOverlappingAMR(const vtkNonOverlappingAMR&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkOctreePointLocator.h b/Common/DataModel/vtkOctreePointLocator.h
index b55322d1469..d4e86c6b13f 100644
--- a/Common/DataModel/vtkOctreePointLocator.h
+++ b/Common/DataModel/vtkOctreePointLocator.h
@@ -157,7 +157,7 @@ public:
 protected:
 
   vtkOctreePointLocator();
-  ~vtkOctreePointLocator();
+  ~vtkOctreePointLocator() VTK_OVERRIDE;
 
   vtkOctreePointLocatorNode *Top;
   vtkOctreePointLocatorNode **LeafNodeList;      // indexed by region/node ID
diff --git a/Common/DataModel/vtkOctreePointLocatorNode.h b/Common/DataModel/vtkOctreePointLocatorNode.h
index 872c7877857..e50d7a09f74 100644
--- a/Common/DataModel/vtkOctreePointLocatorNode.h
+++ b/Common/DataModel/vtkOctreePointLocatorNode.h
@@ -206,7 +206,7 @@ public:
 
 protected:
   vtkOctreePointLocatorNode();
-  ~vtkOctreePointLocatorNode();
+  ~vtkOctreePointLocatorNode() VTK_OVERRIDE;
 
 private:
 
diff --git a/Common/DataModel/vtkOrderedTriangulator.h b/Common/DataModel/vtkOrderedTriangulator.h
index 861f9b887a2..4c686ea7ff3 100644
--- a/Common/DataModel/vtkOrderedTriangulator.h
+++ b/Common/DataModel/vtkOrderedTriangulator.h
@@ -299,7 +299,7 @@ public:
 
 protected:
   vtkOrderedTriangulator();
-  ~vtkOrderedTriangulator();
+  ~vtkOrderedTriangulator() VTK_OVERRIDE;
 
 private:
   void       Initialize();
diff --git a/Common/DataModel/vtkOutEdgeIterator.h b/Common/DataModel/vtkOutEdgeIterator.h
index 680689de5d2..08ab9fed8f2 100644
--- a/Common/DataModel/vtkOutEdgeIterator.h
+++ b/Common/DataModel/vtkOutEdgeIterator.h
@@ -81,7 +81,7 @@ public:
 
 protected:
   vtkOutEdgeIterator();
-  ~vtkOutEdgeIterator();
+  ~vtkOutEdgeIterator() VTK_OVERRIDE;
 
   // Description:
   // Protected method for setting the graph used
diff --git a/Common/DataModel/vtkOverlappingAMR.h b/Common/DataModel/vtkOverlappingAMR.h
index 75dc0815e20..00d1b6b72b7 100644
--- a/Common/DataModel/vtkOverlappingAMR.h
+++ b/Common/DataModel/vtkOverlappingAMR.h
@@ -152,7 +152,7 @@ public:
   void Audit();
  protected:
   vtkOverlappingAMR();
-  virtual ~vtkOverlappingAMR();
+  ~vtkOverlappingAMR() VTK_OVERRIDE;
 
 private:
   vtkOverlappingAMR(const vtkOverlappingAMR&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkPath.h b/Common/DataModel/vtkPath.h
index d1ba0ddbff5..3cdff5fc030 100644
--- a/Common/DataModel/vtkPath.h
+++ b/Common/DataModel/vtkPath.h
@@ -106,7 +106,7 @@ public:
 
 protected:
   vtkPath();
-  ~vtkPath();
+  ~vtkPath() VTK_OVERRIDE;
 
 private:
   vtkPath(const vtkPath&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkPentagonalPrism.h b/Common/DataModel/vtkPentagonalPrism.h
index ef4c0522d4f..1f67a7e05f0 100644
--- a/Common/DataModel/vtkPentagonalPrism.h
+++ b/Common/DataModel/vtkPentagonalPrism.h
@@ -116,7 +116,7 @@ public:
 
 protected:
   vtkPentagonalPrism();
-  ~vtkPentagonalPrism();
+  ~vtkPentagonalPrism() VTK_OVERRIDE;
 
   vtkLine          *Line;
   vtkQuad          *Quad;
diff --git a/Common/DataModel/vtkPerlinNoise.h b/Common/DataModel/vtkPerlinNoise.h
index 1ab2baea75c..07718fb63a4 100644
--- a/Common/DataModel/vtkPerlinNoise.h
+++ b/Common/DataModel/vtkPerlinNoise.h
@@ -78,7 +78,7 @@ public:
 
 protected:
   vtkPerlinNoise();
-  ~vtkPerlinNoise() {}
+  ~vtkPerlinNoise() VTK_OVERRIDE {}
 
   double Frequency[3];
   double Phase[3];
diff --git a/Common/DataModel/vtkPiecewiseFunction.h b/Common/DataModel/vtkPiecewiseFunction.h
index 6f54c3bc01d..49887e4f1da 100644
--- a/Common/DataModel/vtkPiecewiseFunction.h
+++ b/Common/DataModel/vtkPiecewiseFunction.h
@@ -172,7 +172,7 @@ public:
 
 protected:
   vtkPiecewiseFunction();
-  ~vtkPiecewiseFunction();
+  ~vtkPiecewiseFunction() VTK_OVERRIDE;
 
   // Internal method to sort the vector and update the
   // Range whenever a node is added, edited or removed.
diff --git a/Common/DataModel/vtkPixel.h b/Common/DataModel/vtkPixel.h
index 3bec3a5c658..1f2dff25e4a 100644
--- a/Common/DataModel/vtkPixel.h
+++ b/Common/DataModel/vtkPixel.h
@@ -91,7 +91,7 @@ public:
 
 protected:
   vtkPixel();
-  ~vtkPixel();
+  ~vtkPixel() VTK_OVERRIDE;
 
   vtkLine *Line;
 
diff --git a/Common/DataModel/vtkPlane.h b/Common/DataModel/vtkPlane.h
index ffa76dd7a0f..442409bd9b5 100644
--- a/Common/DataModel/vtkPlane.h
+++ b/Common/DataModel/vtkPlane.h
@@ -109,7 +109,7 @@ public:
 
 protected:
   vtkPlane();
-  ~vtkPlane() {}
+  ~vtkPlane() VTK_OVERRIDE {}
 
   double Normal[3];
   double Origin[3];
diff --git a/Common/DataModel/vtkPlaneCollection.h b/Common/DataModel/vtkPlaneCollection.h
index ae7b05c0126..69f83671047 100644
--- a/Common/DataModel/vtkPlaneCollection.h
+++ b/Common/DataModel/vtkPlaneCollection.h
@@ -53,7 +53,7 @@ public:
 
 protected:
   vtkPlaneCollection() {}
-  ~vtkPlaneCollection() {}
+  ~vtkPlaneCollection() VTK_OVERRIDE {}
 
 
 private:
diff --git a/Common/DataModel/vtkPlanes.h b/Common/DataModel/vtkPlanes.h
index 547d02419b4..faf5b2b7fbf 100644
--- a/Common/DataModel/vtkPlanes.h
+++ b/Common/DataModel/vtkPlanes.h
@@ -102,7 +102,7 @@ public:
 
 protected:
   vtkPlanes();
-  ~vtkPlanes();
+  ~vtkPlanes() VTK_OVERRIDE;
 
   vtkPoints *Points;
   vtkDataArray *Normals;
diff --git a/Common/DataModel/vtkPlanesIntersection.h b/Common/DataModel/vtkPlanesIntersection.h
index e1c7816b930..297e51837da 100644
--- a/Common/DataModel/vtkPlanesIntersection.h
+++ b/Common/DataModel/vtkPlanesIntersection.h
@@ -102,7 +102,7 @@ protected:
   static int Invert3x3(double M[3][3]);
 
   vtkPlanesIntersection();
-  ~vtkPlanesIntersection();
+  ~vtkPlanesIntersection() VTK_OVERRIDE;
 
 private:
 
diff --git a/Common/DataModel/vtkPointData.h b/Common/DataModel/vtkPointData.h
index c94ed891b15..314cf872acb 100644
--- a/Common/DataModel/vtkPointData.h
+++ b/Common/DataModel/vtkPointData.h
@@ -36,7 +36,7 @@ public:
 
 protected:
   vtkPointData() {}
-  ~vtkPointData() {}
+  ~vtkPointData() VTK_OVERRIDE {}
 
 private:
   vtkPointData(const vtkPointData&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkPointLocator.h b/Common/DataModel/vtkPointLocator.h
index 20f438e6e97..40fe0628e0e 100644
--- a/Common/DataModel/vtkPointLocator.h
+++ b/Common/DataModel/vtkPointLocator.h
@@ -206,7 +206,7 @@ public:
 
 protected:
   vtkPointLocator();
-  virtual ~vtkPointLocator();
+  ~vtkPointLocator() VTK_OVERRIDE;
 
   // place points in appropriate buckets
   void GetBucketNeighbors(vtkNeighborPoints* buckets,
diff --git a/Common/DataModel/vtkPointSet.h b/Common/DataModel/vtkPointSet.h
index 132894878fb..d4e3153174d 100644
--- a/Common/DataModel/vtkPointSet.h
+++ b/Common/DataModel/vtkPointSet.h
@@ -118,7 +118,7 @@ public:
 
 protected:
   vtkPointSet();
-  ~vtkPointSet();
+  ~vtkPointSet() VTK_OVERRIDE;
 
   vtkPoints *Points;
   vtkPointLocator *Locator;
diff --git a/Common/DataModel/vtkPointSetCellIterator.h b/Common/DataModel/vtkPointSetCellIterator.h
index a5a604ece5b..04b76f0d25e 100644
--- a/Common/DataModel/vtkPointSetCellIterator.h
+++ b/Common/DataModel/vtkPointSetCellIterator.h
@@ -37,7 +37,7 @@ public:
 
 protected:
   vtkPointSetCellIterator();
-  ~vtkPointSetCellIterator();
+  ~vtkPointSetCellIterator() VTK_OVERRIDE;
 
   void ResetToFirstCell() VTK_OVERRIDE;
   void IncrementToNextCell() VTK_OVERRIDE;
diff --git a/Common/DataModel/vtkPointsProjectedHull.h b/Common/DataModel/vtkPointsProjectedHull.h
index d5872d5c04e..5de8c46da3c 100644
--- a/Common/DataModel/vtkPointsProjectedHull.h
+++ b/Common/DataModel/vtkPointsProjectedHull.h
@@ -132,7 +132,7 @@ public:
 protected:
 
     vtkPointsProjectedHull();
-    ~vtkPointsProjectedHull();
+    ~vtkPointsProjectedHull() VTK_OVERRIDE;
 
 private:
 
diff --git a/Common/DataModel/vtkPolyData.h b/Common/DataModel/vtkPolyData.h
index fdc6c7cc979..8ef07fe18a7 100644
--- a/Common/DataModel/vtkPolyData.h
+++ b/Common/DataModel/vtkPolyData.h
@@ -448,7 +448,7 @@ public:
 
 protected:
   vtkPolyData();
-  ~vtkPolyData();
+  ~vtkPolyData() VTK_OVERRIDE;
 
   // constant cell objects returned by GetCell called.
   vtkVertex *Vertex;
diff --git a/Common/DataModel/vtkPolyDataCollection.h b/Common/DataModel/vtkPolyDataCollection.h
index 7b23891f419..5826a38577b 100644
--- a/Common/DataModel/vtkPolyDataCollection.h
+++ b/Common/DataModel/vtkPolyDataCollection.h
@@ -55,7 +55,7 @@ public:
 
 protected:
   vtkPolyDataCollection() {}
-  ~vtkPolyDataCollection() {}
+  ~vtkPolyDataCollection() VTK_OVERRIDE {}
 
 private:
   // hide the standard AddItem from the user and the compiler.
diff --git a/Common/DataModel/vtkPolyLine.h b/Common/DataModel/vtkPolyLine.h
index c01bfba7125..913d20b132d 100644
--- a/Common/DataModel/vtkPolyLine.h
+++ b/Common/DataModel/vtkPolyLine.h
@@ -84,7 +84,7 @@ public:
 
 protected:
   vtkPolyLine();
-  ~vtkPolyLine();
+  ~vtkPolyLine() VTK_OVERRIDE;
 
   vtkLine *Line;
 
diff --git a/Common/DataModel/vtkPolyPlane.h b/Common/DataModel/vtkPolyPlane.h
index 74503f367ef..322077bc878 100644
--- a/Common/DataModel/vtkPolyPlane.h
+++ b/Common/DataModel/vtkPolyPlane.h
@@ -64,7 +64,7 @@ public:
 
 protected:
   vtkPolyPlane();
-  ~vtkPolyPlane();
+  ~vtkPolyPlane() VTK_OVERRIDE;
 
   void ComputeNormals();
 
diff --git a/Common/DataModel/vtkPolyVertex.h b/Common/DataModel/vtkPolyVertex.h
index 088c2964acd..f3c30678605 100644
--- a/Common/DataModel/vtkPolyVertex.h
+++ b/Common/DataModel/vtkPolyVertex.h
@@ -70,7 +70,7 @@ public:
 
 protected:
   vtkPolyVertex();
-  ~vtkPolyVertex();
+  ~vtkPolyVertex() VTK_OVERRIDE;
 
   vtkVertex *Vertex;
 
diff --git a/Common/DataModel/vtkPolygon.h b/Common/DataModel/vtkPolygon.h
index 719d5471ca4..8e9577cad31 100644
--- a/Common/DataModel/vtkPolygon.h
+++ b/Common/DataModel/vtkPolygon.h
@@ -203,7 +203,7 @@ public:
 
 protected:
   vtkPolygon();
-  ~vtkPolygon();
+  ~vtkPolygon() VTK_OVERRIDE;
 
   // Compute the interpolation functions using Mean Value Coordinate.
   void InterpolateFunctionsUsingMVC(double x[3], double *weights);
diff --git a/Common/DataModel/vtkPolyhedron.h b/Common/DataModel/vtkPolyhedron.h
index 771e4493d7e..015a48c0585 100644
--- a/Common/DataModel/vtkPolyhedron.h
+++ b/Common/DataModel/vtkPolyhedron.h
@@ -208,7 +208,7 @@ public:
 
 protected:
   vtkPolyhedron();
-  ~vtkPolyhedron();
+  ~vtkPolyhedron() VTK_OVERRIDE;
 
   // Internal classes for supporting operations on this cell
   vtkLine        *Line;
diff --git a/Common/DataModel/vtkPyramid.h b/Common/DataModel/vtkPyramid.h
index cd23cde6d52..241bd1e0703 100644
--- a/Common/DataModel/vtkPyramid.h
+++ b/Common/DataModel/vtkPyramid.h
@@ -107,7 +107,7 @@ public:
 
 protected:
   vtkPyramid();
-  ~vtkPyramid();
+  ~vtkPyramid() VTK_OVERRIDE;
 
   vtkLine *Line;
   vtkTriangle *Triangle;
diff --git a/Common/DataModel/vtkQuad.h b/Common/DataModel/vtkQuad.h
index 7405ec1ac83..f824067467e 100644
--- a/Common/DataModel/vtkQuad.h
+++ b/Common/DataModel/vtkQuad.h
@@ -100,7 +100,7 @@ public:
 
 protected:
   vtkQuad();
-  ~vtkQuad();
+  ~vtkQuad() VTK_OVERRIDE;
 
   vtkLine     *Line;
   vtkTriangle *Triangle;
diff --git a/Common/DataModel/vtkQuadraticEdge.h b/Common/DataModel/vtkQuadraticEdge.h
index 880a94aa24d..fb8744891d7 100644
--- a/Common/DataModel/vtkQuadraticEdge.h
+++ b/Common/DataModel/vtkQuadraticEdge.h
@@ -106,7 +106,7 @@ public:
 
 protected:
   vtkQuadraticEdge();
-  ~vtkQuadraticEdge();
+  ~vtkQuadraticEdge() VTK_OVERRIDE;
 
   vtkLine *Line;
   vtkDoubleArray *Scalars; //used to avoid New/Delete in contouring/clipping
diff --git a/Common/DataModel/vtkQuadraticHexahedron.h b/Common/DataModel/vtkQuadraticHexahedron.h
index 3bcee670c8a..1db5a88bc38 100644
--- a/Common/DataModel/vtkQuadraticHexahedron.h
+++ b/Common/DataModel/vtkQuadraticHexahedron.h
@@ -120,7 +120,7 @@ public:
 
 protected:
   vtkQuadraticHexahedron();
-  ~vtkQuadraticHexahedron();
+  ~vtkQuadraticHexahedron() VTK_OVERRIDE;
 
   vtkQuadraticEdge *Edge;
   vtkQuadraticQuad *Face;
diff --git a/Common/DataModel/vtkQuadraticLinearQuad.h b/Common/DataModel/vtkQuadraticLinearQuad.h
index 36a2a34b125..ae16b41c12e 100644
--- a/Common/DataModel/vtkQuadraticLinearQuad.h
+++ b/Common/DataModel/vtkQuadraticLinearQuad.h
@@ -116,7 +116,7 @@ public:
 
 protected:
   vtkQuadraticLinearQuad ();
-  ~vtkQuadraticLinearQuad ();
+  ~vtkQuadraticLinearQuad () VTK_OVERRIDE;
 
   vtkQuadraticEdge *Edge;
   vtkLine *LinEdge;
diff --git a/Common/DataModel/vtkQuadraticLinearWedge.h b/Common/DataModel/vtkQuadraticLinearWedge.h
index a692808e7d9..a5411c131d3 100644
--- a/Common/DataModel/vtkQuadraticLinearWedge.h
+++ b/Common/DataModel/vtkQuadraticLinearWedge.h
@@ -133,7 +133,7 @@ public:
 
 protected:
   vtkQuadraticLinearWedge ();
-  ~vtkQuadraticLinearWedge ();
+  ~vtkQuadraticLinearWedge () VTK_OVERRIDE;
 
   vtkQuadraticEdge *QuadEdge;
   vtkLine *Edge;
diff --git a/Common/DataModel/vtkQuadraticPolygon.h b/Common/DataModel/vtkQuadraticPolygon.h
index 00631af3f38..5f254316e44 100644
--- a/Common/DataModel/vtkQuadraticPolygon.h
+++ b/Common/DataModel/vtkQuadraticPolygon.h
@@ -112,7 +112,7 @@ public:
 
 protected:
   vtkQuadraticPolygon();
-  ~vtkQuadraticPolygon();
+  ~vtkQuadraticPolygon() VTK_OVERRIDE;
 
   // variables used by instances of this class
   vtkPolygon       *Polygon;
diff --git a/Common/DataModel/vtkQuadraticPyramid.h b/Common/DataModel/vtkQuadraticPyramid.h
index ddf7ae28be8..c71377423ba 100644
--- a/Common/DataModel/vtkQuadraticPyramid.h
+++ b/Common/DataModel/vtkQuadraticPyramid.h
@@ -131,7 +131,7 @@ public:
 
 protected:
   vtkQuadraticPyramid();
-  ~vtkQuadraticPyramid();
+  ~vtkQuadraticPyramid() VTK_OVERRIDE;
 
   vtkQuadraticEdge *Edge;
   vtkQuadraticTriangle *TriangleFace;
diff --git a/Common/DataModel/vtkQuadraticQuad.h b/Common/DataModel/vtkQuadraticQuad.h
index 0f48d6f8d51..e02861471b5 100644
--- a/Common/DataModel/vtkQuadraticQuad.h
+++ b/Common/DataModel/vtkQuadraticQuad.h
@@ -111,7 +111,7 @@ public:
 
 protected:
   vtkQuadraticQuad();
-  ~vtkQuadraticQuad();
+  ~vtkQuadraticQuad() VTK_OVERRIDE;
 
   vtkQuadraticEdge *Edge;
   vtkQuad          *Quad;
diff --git a/Common/DataModel/vtkQuadraticTetra.h b/Common/DataModel/vtkQuadraticTetra.h
index 1a66f83671c..fbb0fe5cc4f 100644
--- a/Common/DataModel/vtkQuadraticTetra.h
+++ b/Common/DataModel/vtkQuadraticTetra.h
@@ -131,7 +131,7 @@ public:
 
 protected:
   vtkQuadraticTetra();
-  ~vtkQuadraticTetra();
+  ~vtkQuadraticTetra() VTK_OVERRIDE;
 
   vtkQuadraticEdge *Edge;
   vtkQuadraticTriangle *Face;
diff --git a/Common/DataModel/vtkQuadraticTriangle.h b/Common/DataModel/vtkQuadraticTriangle.h
index 509dd9f39db..69fff9e9564 100644
--- a/Common/DataModel/vtkQuadraticTriangle.h
+++ b/Common/DataModel/vtkQuadraticTriangle.h
@@ -116,7 +116,7 @@ public:
 
 protected:
   vtkQuadraticTriangle();
-  ~vtkQuadraticTriangle();
+  ~vtkQuadraticTriangle() VTK_OVERRIDE;
 
   vtkQuadraticEdge *Edge;
   vtkTriangle      *Face;
diff --git a/Common/DataModel/vtkQuadraticWedge.h b/Common/DataModel/vtkQuadraticWedge.h
index b8c915439e8..9e1918d2eb7 100644
--- a/Common/DataModel/vtkQuadraticWedge.h
+++ b/Common/DataModel/vtkQuadraticWedge.h
@@ -127,7 +127,7 @@ public:
 
 protected:
   vtkQuadraticWedge();
-  ~vtkQuadraticWedge();
+  ~vtkQuadraticWedge() VTK_OVERRIDE;
 
   vtkQuadraticEdge *Edge;
   vtkQuadraticTriangle *TriangleFace;
diff --git a/Common/DataModel/vtkQuadratureSchemeDefinition.h b/Common/DataModel/vtkQuadratureSchemeDefinition.h
index fdcd00c9387..af7141feb54 100644
--- a/Common/DataModel/vtkQuadratureSchemeDefinition.h
+++ b/Common/DataModel/vtkQuadratureSchemeDefinition.h
@@ -116,7 +116,7 @@ public:
 
 protected:
   vtkQuadratureSchemeDefinition();
-  ~vtkQuadratureSchemeDefinition();
+  ~vtkQuadratureSchemeDefinition() VTK_OVERRIDE;
 private:
   // Description:
   // Allocate/De-allocate resources that will be used by the definition.
diff --git a/Common/DataModel/vtkQuadric.h b/Common/DataModel/vtkQuadric.h
index ebddd669b6b..3b3819b84cd 100644
--- a/Common/DataModel/vtkQuadric.h
+++ b/Common/DataModel/vtkQuadric.h
@@ -53,7 +53,7 @@ public:
 
 protected:
   vtkQuadric();
-  ~vtkQuadric() {}
+  ~vtkQuadric() VTK_OVERRIDE {}
 
   double Coefficients[10];
 
diff --git a/Common/DataModel/vtkRectilinearGrid.h b/Common/DataModel/vtkRectilinearGrid.h
index 95ba4c06634..3fd3456beb2 100644
--- a/Common/DataModel/vtkRectilinearGrid.h
+++ b/Common/DataModel/vtkRectilinearGrid.h
@@ -189,7 +189,7 @@ public:
 
 protected:
   vtkRectilinearGrid();
-  ~vtkRectilinearGrid();
+  ~vtkRectilinearGrid() VTK_OVERRIDE;
 
   // for the GetCell method
   vtkVertex *Vertex;
diff --git a/Common/DataModel/vtkReebGraph.h b/Common/DataModel/vtkReebGraph.h
index afbe3c08bb3..f043fed1c34 100644
--- a/Common/DataModel/vtkReebGraph.h
+++ b/Common/DataModel/vtkReebGraph.h
@@ -352,7 +352,7 @@ public:
 protected:
 
   vtkReebGraph();
-  ~vtkReebGraph();
+  ~vtkReebGraph() VTK_OVERRIDE;
 
   class Implementation;
   Implementation* Storage;
diff --git a/Common/DataModel/vtkReebGraphSimplificationMetric.h b/Common/DataModel/vtkReebGraphSimplificationMetric.h
index 6ba4effd795..5cfcffdff2a 100644
--- a/Common/DataModel/vtkReebGraphSimplificationMetric.h
+++ b/Common/DataModel/vtkReebGraphSimplificationMetric.h
@@ -86,7 +86,7 @@ public:
 
 protected:
   vtkReebGraphSimplificationMetric();
-  ~vtkReebGraphSimplificationMetric();
+  ~vtkReebGraphSimplificationMetric() VTK_OVERRIDE;
 
   double    LowerBound, UpperBound;
 
diff --git a/Common/DataModel/vtkSelection.h b/Common/DataModel/vtkSelection.h
index b55dc1ad981..64f4e1f954f 100644
--- a/Common/DataModel/vtkSelection.h
+++ b/Common/DataModel/vtkSelection.h
@@ -115,7 +115,7 @@ public:
 
 protected:
   vtkSelection();
-  ~vtkSelection();
+  ~vtkSelection() VTK_OVERRIDE;
 
 private:
   vtkSelection(const vtkSelection&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkSelectionNode.h b/Common/DataModel/vtkSelectionNode.h
index 3fe869fca46..8f9cf52215f 100644
--- a/Common/DataModel/vtkSelectionNode.h
+++ b/Common/DataModel/vtkSelectionNode.h
@@ -246,7 +246,7 @@ public:
 
 protected:
   vtkSelectionNode();
-  ~vtkSelectionNode();
+  ~vtkSelectionNode() VTK_OVERRIDE;
 
   vtkInformation* Properties;
   vtkDataSetAttributes* SelectionData;
diff --git a/Common/DataModel/vtkSimpleCellTessellator.h b/Common/DataModel/vtkSimpleCellTessellator.h
index 090a4180d30..1dfda95f098 100644
--- a/Common/DataModel/vtkSimpleCellTessellator.h
+++ b/Common/DataModel/vtkSimpleCellTessellator.h
@@ -187,7 +187,7 @@ public:
 
 protected:
   vtkSimpleCellTessellator();
-  ~vtkSimpleCellTessellator();
+  ~vtkSimpleCellTessellator() VTK_OVERRIDE;
 
   // Description:
   // Extract point `pointId' from the edge table to the output point and output
diff --git a/Common/DataModel/vtkSmoothErrorMetric.h b/Common/DataModel/vtkSmoothErrorMetric.h
index 4184547cb8f..764076fad96 100644
--- a/Common/DataModel/vtkSmoothErrorMetric.h
+++ b/Common/DataModel/vtkSmoothErrorMetric.h
@@ -95,7 +95,7 @@ public:
 
 protected:
   vtkSmoothErrorMetric();
-  virtual ~vtkSmoothErrorMetric();
+  ~vtkSmoothErrorMetric() VTK_OVERRIDE;
 
   double AngleTolerance;
   double CosTolerance;
diff --git a/Common/DataModel/vtkSortFieldData.h b/Common/DataModel/vtkSortFieldData.h
index eac789d245d..2077ba9ee44 100644
--- a/Common/DataModel/vtkSortFieldData.h
+++ b/Common/DataModel/vtkSortFieldData.h
@@ -98,7 +98,7 @@ public:
 
 protected:
   vtkSortFieldData();
-  virtual ~vtkSortFieldData();
+  ~vtkSortFieldData() VTK_OVERRIDE;
 
 private:
   vtkSortFieldData(const vtkSortFieldData &) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkSphere.h b/Common/DataModel/vtkSphere.h
index 13f969feb4d..a16066fc9f2 100644
--- a/Common/DataModel/vtkSphere.h
+++ b/Common/DataModel/vtkSphere.h
@@ -81,7 +81,7 @@ public:
 
 protected:
   vtkSphere();
-  ~vtkSphere() {}
+  ~vtkSphere() VTK_OVERRIDE {}
 
   double Radius;
   double Center[3];
diff --git a/Common/DataModel/vtkSpline.h b/Common/DataModel/vtkSpline.h
index 9d7a3f3d197..050f2decbe2 100644
--- a/Common/DataModel/vtkSpline.h
+++ b/Common/DataModel/vtkSpline.h
@@ -150,7 +150,7 @@ public:
 
 protected:
   vtkSpline();
-  ~vtkSpline();
+  ~vtkSpline() VTK_OVERRIDE;
 
   vtkMTimeType ComputeTime;
   int ClampValue;
diff --git a/Common/DataModel/vtkStaticCellLinks.h b/Common/DataModel/vtkStaticCellLinks.h
index ba9393ec900..2ce6f21178c 100644
--- a/Common/DataModel/vtkStaticCellLinks.h
+++ b/Common/DataModel/vtkStaticCellLinks.h
@@ -86,7 +86,7 @@ public:
 
 protected:
   vtkStaticCellLinks();
-  virtual ~vtkStaticCellLinks();
+  ~vtkStaticCellLinks() VTK_OVERRIDE;
 
   vtkStaticCellLinksTemplate<vtkIdType> *Impl;
 
diff --git a/Common/DataModel/vtkStaticPointLocator.h b/Common/DataModel/vtkStaticPointLocator.h
index 46af07b5704..3343c041082 100644
--- a/Common/DataModel/vtkStaticPointLocator.h
+++ b/Common/DataModel/vtkStaticPointLocator.h
@@ -151,7 +151,7 @@ public:
 
 protected:
   vtkStaticPointLocator();
-  virtual ~vtkStaticPointLocator();
+  ~vtkStaticPointLocator() VTK_OVERRIDE;
 
   int NumberOfPointsPerBucket; // Used with AutomaticOn to control subdivide
   int Divisions[3]; // Number of sub-divisions in x-y-z directions
diff --git a/Common/DataModel/vtkStructuredData.h b/Common/DataModel/vtkStructuredData.h
index 58d50b40e97..cb60dede944 100644
--- a/Common/DataModel/vtkStructuredData.h
+++ b/Common/DataModel/vtkStructuredData.h
@@ -202,7 +202,7 @@ public:
 
 protected:
   vtkStructuredData() {}
-  ~vtkStructuredData() {}
+  ~vtkStructuredData() VTK_OVERRIDE {}
 
   // Description:
   // Computes the linear index for the given i-j-k structured of a grid with
diff --git a/Common/DataModel/vtkStructuredExtent.h b/Common/DataModel/vtkStructuredExtent.h
index a5f25aab64b..fb9f8bff583 100644
--- a/Common/DataModel/vtkStructuredExtent.h
+++ b/Common/DataModel/vtkStructuredExtent.h
@@ -61,7 +61,7 @@ public:
 
 protected:
   vtkStructuredExtent();
-  ~vtkStructuredExtent();
+  ~vtkStructuredExtent() VTK_OVERRIDE;
 
 private:
   vtkStructuredExtent(const vtkStructuredExtent&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkStructuredGrid.h b/Common/DataModel/vtkStructuredGrid.h
index bd1f0ca9195..0605b1eecf3 100644
--- a/Common/DataModel/vtkStructuredGrid.h
+++ b/Common/DataModel/vtkStructuredGrid.h
@@ -197,7 +197,7 @@ public:
 
 protected:
   vtkStructuredGrid();
-  ~vtkStructuredGrid();
+  ~vtkStructuredGrid() VTK_OVERRIDE;
 
   // for the GetCell method
   vtkVertex *Vertex;
diff --git a/Common/DataModel/vtkStructuredPoints.h b/Common/DataModel/vtkStructuredPoints.h
index b1d930312c6..3e6f896adc5 100644
--- a/Common/DataModel/vtkStructuredPoints.h
+++ b/Common/DataModel/vtkStructuredPoints.h
@@ -43,7 +43,7 @@ public:
 
 protected:
   vtkStructuredPoints();
-  ~vtkStructuredPoints() {}
+  ~vtkStructuredPoints() VTK_OVERRIDE {}
 private:
   vtkStructuredPoints(const vtkStructuredPoints&) VTK_DELETE_FUNCTION;
   void operator=(const vtkStructuredPoints&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkStructuredPointsCollection.h b/Common/DataModel/vtkStructuredPointsCollection.h
index 1201e174e20..1dc819f8045 100644
--- a/Common/DataModel/vtkStructuredPointsCollection.h
+++ b/Common/DataModel/vtkStructuredPointsCollection.h
@@ -55,7 +55,7 @@ public:
 
 protected:
   vtkStructuredPointsCollection() {}
-  ~vtkStructuredPointsCollection() {}
+  ~vtkStructuredPointsCollection() VTK_OVERRIDE {}
 
 
 
diff --git a/Common/DataModel/vtkSuperquadric.h b/Common/DataModel/vtkSuperquadric.h
index b14da2192c1..c8ff49d052c 100644
--- a/Common/DataModel/vtkSuperquadric.h
+++ b/Common/DataModel/vtkSuperquadric.h
@@ -102,7 +102,7 @@ public:
 
 protected:
   vtkSuperquadric();
-  ~vtkSuperquadric() {}
+  ~vtkSuperquadric() VTK_OVERRIDE {}
 
   int Toroidal;
   double Thickness;
diff --git a/Common/DataModel/vtkTable.h b/Common/DataModel/vtkTable.h
index ff958fd48fb..8cfeababdc1 100644
--- a/Common/DataModel/vtkTable.h
+++ b/Common/DataModel/vtkTable.h
@@ -206,7 +206,7 @@ public:
 
 protected:
   vtkTable();
-  ~vtkTable();
+  ~vtkTable() VTK_OVERRIDE;
 
   // Description:
   // Holds the column data of the table.
diff --git a/Common/DataModel/vtkTetra.h b/Common/DataModel/vtkTetra.h
index 0af1e1c2495..42d725f930d 100644
--- a/Common/DataModel/vtkTetra.h
+++ b/Common/DataModel/vtkTetra.h
@@ -162,7 +162,7 @@ public:
 
 protected:
   vtkTetra();
-  ~vtkTetra();
+  ~vtkTetra() VTK_OVERRIDE;
 
   vtkLine *Line;
   vtkTriangle *Triangle;
diff --git a/Common/DataModel/vtkTree.h b/Common/DataModel/vtkTree.h
index 5215985de7e..3ed319c3343 100644
--- a/Common/DataModel/vtkTree.h
+++ b/Common/DataModel/vtkTree.h
@@ -111,7 +111,7 @@ public:
 
 protected:
   vtkTree();
-  ~vtkTree();
+  ~vtkTree() VTK_OVERRIDE;
 
   // Description:
   // Check the storage, and accept it if it is a valid
diff --git a/Common/DataModel/vtkTreeBFSIterator.h b/Common/DataModel/vtkTreeBFSIterator.h
index ddc03376e3a..063860c8f1e 100644
--- a/Common/DataModel/vtkTreeBFSIterator.h
+++ b/Common/DataModel/vtkTreeBFSIterator.h
@@ -43,7 +43,7 @@ public:
 
 protected:
   vtkTreeBFSIterator();
-  ~vtkTreeBFSIterator();
+  ~vtkTreeBFSIterator() VTK_OVERRIDE;
 
   void Initialize() VTK_OVERRIDE;
   vtkIdType NextInternal() VTK_OVERRIDE;
diff --git a/Common/DataModel/vtkTreeDFSIterator.h b/Common/DataModel/vtkTreeDFSIterator.h
index f06faa8194c..71e80f5538d 100644
--- a/Common/DataModel/vtkTreeDFSIterator.h
+++ b/Common/DataModel/vtkTreeDFSIterator.h
@@ -67,7 +67,7 @@ public:
 
 protected:
   vtkTreeDFSIterator();
-  ~vtkTreeDFSIterator();
+  ~vtkTreeDFSIterator() VTK_OVERRIDE;
 
   void Initialize() VTK_OVERRIDE;
   vtkIdType NextInternal() VTK_OVERRIDE;
diff --git a/Common/DataModel/vtkTreeIterator.h b/Common/DataModel/vtkTreeIterator.h
index 25b4511c4fb..ac910ffabb2 100644
--- a/Common/DataModel/vtkTreeIterator.h
+++ b/Common/DataModel/vtkTreeIterator.h
@@ -65,7 +65,7 @@ public:
 
 protected:
   vtkTreeIterator();
-  ~vtkTreeIterator();
+  ~vtkTreeIterator() VTK_OVERRIDE;
 
   virtual void Initialize() = 0;
   virtual vtkIdType NextInternal() = 0;
diff --git a/Common/DataModel/vtkTriQuadraticHexahedron.h b/Common/DataModel/vtkTriQuadraticHexahedron.h
index d3200a0df16..075e3522bb2 100644
--- a/Common/DataModel/vtkTriQuadraticHexahedron.h
+++ b/Common/DataModel/vtkTriQuadraticHexahedron.h
@@ -155,7 +155,7 @@ public:
 
 protected:
   vtkTriQuadraticHexahedron ();
-  ~vtkTriQuadraticHexahedron ();
+  ~vtkTriQuadraticHexahedron () VTK_OVERRIDE;
 
   vtkQuadraticEdge *Edge;
   vtkBiQuadraticQuad *Face;
diff --git a/Common/DataModel/vtkTriangle.h b/Common/DataModel/vtkTriangle.h
index e749aee3e51..29866d0b5b1 100644
--- a/Common/DataModel/vtkTriangle.h
+++ b/Common/DataModel/vtkTriangle.h
@@ -192,7 +192,7 @@ public:
 
 protected:
   vtkTriangle();
-  ~vtkTriangle();
+  ~vtkTriangle() VTK_OVERRIDE;
 
   vtkLine *Line;
 
diff --git a/Common/DataModel/vtkTriangleStrip.h b/Common/DataModel/vtkTriangleStrip.h
index 6129065e665..dea76f401fb 100644
--- a/Common/DataModel/vtkTriangleStrip.h
+++ b/Common/DataModel/vtkTriangleStrip.h
@@ -81,7 +81,7 @@ public:
 
 protected:
   vtkTriangleStrip();
-  ~vtkTriangleStrip();
+  ~vtkTriangleStrip() VTK_OVERRIDE;
 
   vtkLine *Line;
   vtkTriangle *Triangle;
diff --git a/Common/DataModel/vtkUndirectedGraph.h b/Common/DataModel/vtkUndirectedGraph.h
index 87b54b418b1..58fa4268516 100644
--- a/Common/DataModel/vtkUndirectedGraph.h
+++ b/Common/DataModel/vtkUndirectedGraph.h
@@ -89,7 +89,7 @@ public:
 
 protected:
   vtkUndirectedGraph();
-  ~vtkUndirectedGraph();
+  ~vtkUndirectedGraph() VTK_OVERRIDE;
 
   // Description:
   // For iterators, returns the same edge list as GetOutEdges().
diff --git a/Common/DataModel/vtkUniformGrid.h b/Common/DataModel/vtkUniformGrid.h
index cf05bca7a41..f23e1b0fd38 100644
--- a/Common/DataModel/vtkUniformGrid.h
+++ b/Common/DataModel/vtkUniformGrid.h
@@ -154,7 +154,7 @@ public:
 
 protected:
   vtkUniformGrid();
-  ~vtkUniformGrid();
+  ~vtkUniformGrid() VTK_OVERRIDE;
 
   // Description:
   // Returns the cell dimensions for this vtkUniformGrid instance.
diff --git a/Common/DataModel/vtkUniformGridAMR.h b/Common/DataModel/vtkUniformGridAMR.h
index 1439686b5d1..f8e3d4f30cd 100644
--- a/Common/DataModel/vtkUniformGridAMR.h
+++ b/Common/DataModel/vtkUniformGridAMR.h
@@ -121,7 +121,7 @@ public:
 
 protected:
   vtkUniformGridAMR();
-  virtual ~vtkUniformGridAMR();
+  ~vtkUniformGridAMR() VTK_OVERRIDE;
 
   // Description:
   // Get/Set the meta AMR meta data
diff --git a/Common/DataModel/vtkUniformGridAMRDataIterator.h b/Common/DataModel/vtkUniformGridAMRDataIterator.h
index 9a3d64bdb58..7638e21cd71 100644
--- a/Common/DataModel/vtkUniformGridAMRDataIterator.h
+++ b/Common/DataModel/vtkUniformGridAMRDataIterator.h
@@ -83,7 +83,7 @@ public:
 
 protected:
   vtkUniformGridAMRDataIterator();
-  ~vtkUniformGridAMRDataIterator();
+  ~vtkUniformGridAMRDataIterator() VTK_OVERRIDE;
   vtkSmartPointer<AMRIndexIterator> Iter;
 private:
   vtkUniformGridAMRDataIterator(const vtkUniformGridAMRDataIterator&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkUnstructuredGrid.h b/Common/DataModel/vtkUnstructuredGrid.h
index 6652970ef01..9015c2e75e8 100644
--- a/Common/DataModel/vtkUnstructuredGrid.h
+++ b/Common/DataModel/vtkUnstructuredGrid.h
@@ -313,7 +313,7 @@ public:
 
 protected:
   vtkUnstructuredGrid();
-  ~vtkUnstructuredGrid();
+  ~vtkUnstructuredGrid() VTK_OVERRIDE;
 
   // used by GetCell method
   vtkVertex                         *Vertex;
diff --git a/Common/DataModel/vtkUnstructuredGridBase.h b/Common/DataModel/vtkUnstructuredGridBase.h
index f1253331968..c024c2fc156 100644
--- a/Common/DataModel/vtkUnstructuredGridBase.h
+++ b/Common/DataModel/vtkUnstructuredGridBase.h
@@ -100,7 +100,7 @@ public:
 
 protected:
   vtkUnstructuredGridBase();
-  ~vtkUnstructuredGridBase();
+  ~vtkUnstructuredGridBase() VTK_OVERRIDE;
 
 private:
   vtkUnstructuredGridBase(const vtkUnstructuredGridBase&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkUnstructuredGridCellIterator.h b/Common/DataModel/vtkUnstructuredGridCellIterator.h
index 64f63322638..9b0f326de90 100644
--- a/Common/DataModel/vtkUnstructuredGridCellIterator.h
+++ b/Common/DataModel/vtkUnstructuredGridCellIterator.h
@@ -40,7 +40,7 @@ public:
 
 protected:
   vtkUnstructuredGridCellIterator();
-  ~vtkUnstructuredGridCellIterator();
+  ~vtkUnstructuredGridCellIterator() VTK_OVERRIDE;
 
   void ResetToFirstCell() VTK_OVERRIDE;
   void IncrementToNextCell() VTK_OVERRIDE;
diff --git a/Common/DataModel/vtkVertex.h b/Common/DataModel/vtkVertex.h
index 3938ccbc40c..554e6d1b7da 100644
--- a/Common/DataModel/vtkVertex.h
+++ b/Common/DataModel/vtkVertex.h
@@ -115,7 +115,7 @@ public:
 
 protected:
   vtkVertex();
-  ~vtkVertex() {}
+  ~vtkVertex() VTK_OVERRIDE {}
 
 private:
   vtkVertex(const vtkVertex&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkVertexListIterator.h b/Common/DataModel/vtkVertexListIterator.h
index 3495a82138e..34e1701b4f0 100644
--- a/Common/DataModel/vtkVertexListIterator.h
+++ b/Common/DataModel/vtkVertexListIterator.h
@@ -71,7 +71,7 @@ public:
 
 protected:
   vtkVertexListIterator();
-  ~vtkVertexListIterator();
+  ~vtkVertexListIterator() VTK_OVERRIDE;
 
   vtkGraph *Graph;
   vtkIdType  Current;
diff --git a/Common/DataModel/vtkVoxel.h b/Common/DataModel/vtkVoxel.h
index 8934cca092a..7f9d0ace759 100644
--- a/Common/DataModel/vtkVoxel.h
+++ b/Common/DataModel/vtkVoxel.h
@@ -99,7 +99,7 @@ public:
 
 protected:
   vtkVoxel();
-  ~vtkVoxel();
+  ~vtkVoxel() VTK_OVERRIDE;
 
 private:
   vtkVoxel(const vtkVoxel&) VTK_DELETE_FUNCTION;
diff --git a/Common/DataModel/vtkWedge.h b/Common/DataModel/vtkWedge.h
index e95ffbd332e..4c82fe83573 100644
--- a/Common/DataModel/vtkWedge.h
+++ b/Common/DataModel/vtkWedge.h
@@ -106,7 +106,7 @@ public:
 
 protected:
   vtkWedge();
-  ~vtkWedge();
+  ~vtkWedge() VTK_OVERRIDE;
 
   vtkLine *Line;
   vtkTriangle *Triangle;
diff --git a/Common/DataModel/vtkXMLDataElement.h b/Common/DataModel/vtkXMLDataElement.h
index 8e9cf39f3b6..ecb47e5aaf5 100644
--- a/Common/DataModel/vtkXMLDataElement.h
+++ b/Common/DataModel/vtkXMLDataElement.h
@@ -226,7 +226,7 @@ public:
 
 protected:
   vtkXMLDataElement();
-  ~vtkXMLDataElement();
+  ~vtkXMLDataElement() VTK_OVERRIDE;
 
   // The name of the element from the XML file.
   char* Name;
diff --git a/Common/ExecutionModel/vtkAlgorithm.h b/Common/ExecutionModel/vtkAlgorithm.h
index 8ecaa97149a..e9e7db90c98 100644
--- a/Common/ExecutionModel/vtkAlgorithm.h
+++ b/Common/ExecutionModel/vtkAlgorithm.h
@@ -646,7 +646,7 @@ public:
 
 protected:
   vtkAlgorithm();
-  ~vtkAlgorithm();
+  ~vtkAlgorithm() VTK_OVERRIDE;
 
   // Keys used to indicate that input/output port information has been
   // filled.
diff --git a/Common/ExecutionModel/vtkAlgorithmOutput.h b/Common/ExecutionModel/vtkAlgorithmOutput.h
index ba63fe4f1a4..113c14eb33c 100644
--- a/Common/ExecutionModel/vtkAlgorithmOutput.h
+++ b/Common/ExecutionModel/vtkAlgorithmOutput.h
@@ -45,7 +45,7 @@ public:
 
 protected:
   vtkAlgorithmOutput();
-  ~vtkAlgorithmOutput();
+  ~vtkAlgorithmOutput() VTK_OVERRIDE;
 
   int Index;
   vtkAlgorithm* Producer;
diff --git a/Common/ExecutionModel/vtkAnnotationLayersAlgorithm.h b/Common/ExecutionModel/vtkAnnotationLayersAlgorithm.h
index b2b69690a68..a499f2ba3a5 100644
--- a/Common/ExecutionModel/vtkAnnotationLayersAlgorithm.h
+++ b/Common/ExecutionModel/vtkAnnotationLayersAlgorithm.h
@@ -46,9 +46,9 @@ public:
 
   // Description:
   // see vtkAlgorithm for details
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
   // Description:
   // Get the output data object for a port on this algorithm.
@@ -64,7 +64,7 @@ public:
 
 protected:
   vtkAnnotationLayersAlgorithm();
-  ~vtkAnnotationLayersAlgorithm();
+  ~vtkAnnotationLayersAlgorithm() VTK_OVERRIDE;
 
   // convenience method
   virtual int RequestInformation(vtkInformation* request,
@@ -86,8 +86,8 @@ protected:
                                   vtkInformationVector*);
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkAnnotationLayersAlgorithm(const vtkAnnotationLayersAlgorithm&) VTK_DELETE_FUNCTION;
diff --git a/Common/ExecutionModel/vtkArrayDataAlgorithm.h b/Common/ExecutionModel/vtkArrayDataAlgorithm.h
index 67a18854919..4aba49dde43 100644
--- a/Common/ExecutionModel/vtkArrayDataAlgorithm.h
+++ b/Common/ExecutionModel/vtkArrayDataAlgorithm.h
@@ -56,9 +56,9 @@ public:
 
   // Description:
   // see vtkAlgorithm for details
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
   // Description:
   // Get the output data object for a port on this algorithm.
@@ -74,7 +74,7 @@ public:
 
 protected:
   vtkArrayDataAlgorithm();
-  ~vtkArrayDataAlgorithm();
+  ~vtkArrayDataAlgorithm() VTK_OVERRIDE;
 
   // convenience method
   virtual int RequestInformation(vtkInformation* request,
@@ -96,8 +96,8 @@ protected:
                                   vtkInformationVector*);
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkArrayDataAlgorithm(const vtkArrayDataAlgorithm&) VTK_DELETE_FUNCTION;
diff --git a/Common/ExecutionModel/vtkCachedStreamingDemandDrivenPipeline.h b/Common/ExecutionModel/vtkCachedStreamingDemandDrivenPipeline.h
index 00dabee9488..010efea2b4c 100644
--- a/Common/ExecutionModel/vtkCachedStreamingDemandDrivenPipeline.h
+++ b/Common/ExecutionModel/vtkCachedStreamingDemandDrivenPipeline.h
@@ -42,14 +42,14 @@ public:
 
 protected:
   vtkCachedStreamingDemandDrivenPipeline();
-  ~vtkCachedStreamingDemandDrivenPipeline();
+  ~vtkCachedStreamingDemandDrivenPipeline() VTK_OVERRIDE;
 
-  virtual int NeedToExecuteData(int outputPort,
+  int NeedToExecuteData(int outputPort,
                                 vtkInformationVector** inInfoVec,
-                                vtkInformationVector* outInfoVec);
-  virtual int ExecuteData(vtkInformation* request,
+                                vtkInformationVector* outInfoVec) VTK_OVERRIDE;
+  int ExecuteData(vtkInformation* request,
                           vtkInformationVector** inInfoVec,
-                          vtkInformationVector* outInfoVec);
+                          vtkInformationVector* outInfoVec) VTK_OVERRIDE;
 
   int CacheSize;
 
diff --git a/Common/ExecutionModel/vtkCastToConcrete.h b/Common/ExecutionModel/vtkCastToConcrete.h
index ee7c57a490e..477496dd8f2 100644
--- a/Common/ExecutionModel/vtkCastToConcrete.h
+++ b/Common/ExecutionModel/vtkCastToConcrete.h
@@ -51,10 +51,10 @@ public:
 
 protected:
   vtkCastToConcrete() {}
-  ~vtkCastToConcrete() {}
+  ~vtkCastToConcrete() VTK_OVERRIDE {}
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); //insures compatibility; satisfies abstract api in vtkFilter
-  virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE; //insures compatibility; satisfies abstract api in vtkFilter
+  int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 private:
   vtkCastToConcrete(const vtkCastToConcrete&) VTK_DELETE_FUNCTION;
   void operator=(const vtkCastToConcrete&) VTK_DELETE_FUNCTION;
diff --git a/Common/ExecutionModel/vtkCompositeDataPipeline.h b/Common/ExecutionModel/vtkCompositeDataPipeline.h
index 36287b8868f..a84b61d8c46 100644
--- a/Common/ExecutionModel/vtkCompositeDataPipeline.h
+++ b/Common/ExecutionModel/vtkCompositeDataPipeline.h
@@ -106,35 +106,35 @@ public:
 
 protected:
   vtkCompositeDataPipeline();
-  ~vtkCompositeDataPipeline();
+  ~vtkCompositeDataPipeline() VTK_OVERRIDE;
 
-  virtual int ForwardUpstream(vtkInformation* request);
+  int ForwardUpstream(vtkInformation* request) VTK_OVERRIDE;
   virtual int ForwardUpstream(int i, int j, vtkInformation* request);
 
   // Copy information for the given request.
-  virtual void CopyDefaultInformation(vtkInformation* request, int direction,
+  void CopyDefaultInformation(vtkInformation* request, int direction,
                                       vtkInformationVector** inInfoVec,
-                                      vtkInformationVector* outInfoVec);
+                                      vtkInformationVector* outInfoVec) VTK_OVERRIDE;
 
   virtual void PushInformation(vtkInformation*);
   virtual void PopInformation (vtkInformation*);
 
-  virtual int ExecuteDataObject(vtkInformation* request,
+  int ExecuteDataObject(vtkInformation* request,
                                 vtkInformationVector** inInfo,
-                                vtkInformationVector* outInfo);
+                                vtkInformationVector* outInfo) VTK_OVERRIDE;
 
-  virtual int ExecuteData(vtkInformation* request,
+  int ExecuteData(vtkInformation* request,
                           vtkInformationVector** inInfoVec,
-                          vtkInformationVector* outInfoVec);
+                          vtkInformationVector* outInfoVec) VTK_OVERRIDE;
 
-  virtual void ExecuteDataStart(vtkInformation* request,
+  void ExecuteDataStart(vtkInformation* request,
                                 vtkInformationVector** inInfoVec,
-                                vtkInformationVector* outInfoVec);
+                                vtkInformationVector* outInfoVec) VTK_OVERRIDE;
 
   // Override this check to account for update extent.
-  virtual int NeedToExecuteData(int outputPort,
+  int NeedToExecuteData(int outputPort,
                                 vtkInformationVector** inInfoVec,
-                                vtkInformationVector* outInfoVec);
+                                vtkInformationVector* outInfoVec) VTK_OVERRIDE;
 
   // Check whether the data object in the pipeline information for an
   // output port exists and has a valid type.
@@ -172,8 +172,8 @@ protected:
   bool ShouldIterateOverInput(vtkInformationVector** inInfoVec,
                               int& compositePort);
 
-  virtual int InputTypeIsValid(int port, int index,
-                                vtkInformationVector **inInfoVec);
+  int InputTypeIsValid(int port, int index,
+                                vtkInformationVector **inInfoVec) VTK_OVERRIDE;
 
   vtkInformation* InformationCache;
 
@@ -184,7 +184,7 @@ protected:
   vtkInformation* DataRequest;
 
 
-  virtual void ResetPipelineInformation(int port, vtkInformation*);
+  void ResetPipelineInformation(int port, vtkInformation*) VTK_OVERRIDE;
 
   // Description:
   // Tries to create the best possible composite data output for the given input
@@ -198,9 +198,9 @@ protected:
     vtkCompositeDataSet* input, int compositePort);
 
   // Override this to handle UPDATE_COMPOSITE_INDICES().
-  virtual void MarkOutputsGenerated(vtkInformation* request,
+  void MarkOutputsGenerated(vtkInformation* request,
                                     vtkInformationVector** inInfoVec,
-                                    vtkInformationVector* outInfoVec);
+                                    vtkInformationVector* outInfoVec) VTK_OVERRIDE;
 
   int NeedToExecuteBasedOnCompositeIndices(vtkInformation* outInfo);
 
diff --git a/Common/ExecutionModel/vtkCompositeDataSetAlgorithm.h b/Common/ExecutionModel/vtkCompositeDataSetAlgorithm.h
index 8c386196b8d..5d7cb1fbecd 100644
--- a/Common/ExecutionModel/vtkCompositeDataSetAlgorithm.h
+++ b/Common/ExecutionModel/vtkCompositeDataSetAlgorithm.h
@@ -48,13 +48,13 @@ public:
 
   // Description:
   // see vtkAlgorithm for details
-  virtual int ProcessRequest(vtkInformation* request,
+  int ProcessRequest(vtkInformation* request,
                              vtkInformationVector** inputVector,
-                             vtkInformationVector* outputVector);
+                             vtkInformationVector* outputVector) VTK_OVERRIDE;
 
 protected:
   vtkCompositeDataSetAlgorithm();
-  ~vtkCompositeDataSetAlgorithm() {}
+  ~vtkCompositeDataSetAlgorithm() VTK_OVERRIDE {}
 
   // Description:
   // This is called by the superclass.
@@ -88,11 +88,11 @@ protected:
     };
 
   // Create a default executive.
-  virtual vtkExecutive* CreateDefaultExecutive();
+  vtkExecutive* CreateDefaultExecutive() VTK_OVERRIDE;
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   vtkDataObject *GetInput(int port);
 
diff --git a/Common/ExecutionModel/vtkDataObjectAlgorithm.h b/Common/ExecutionModel/vtkDataObjectAlgorithm.h
index e2895e8139b..27f8ea7783d 100644
--- a/Common/ExecutionModel/vtkDataObjectAlgorithm.h
+++ b/Common/ExecutionModel/vtkDataObjectAlgorithm.h
@@ -53,9 +53,9 @@ public:
 
   // Description:
   // see vtkAlgorithm for details
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
   // this method is not recommended for use, but lots of old style filters
   // use it
@@ -78,7 +78,7 @@ public:
 
 protected:
   vtkDataObjectAlgorithm();
-  ~vtkDataObjectAlgorithm();
+  ~vtkDataObjectAlgorithm() VTK_OVERRIDE;
 
   // convenience method
   virtual int RequestInformation(vtkInformation* request,
@@ -113,8 +113,8 @@ protected:
   }
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkDataObjectAlgorithm(const vtkDataObjectAlgorithm&) VTK_DELETE_FUNCTION;
diff --git a/Common/ExecutionModel/vtkDataSetAlgorithm.h b/Common/ExecutionModel/vtkDataSetAlgorithm.h
index 50fb39b77d1..338eb68d880 100644
--- a/Common/ExecutionModel/vtkDataSetAlgorithm.h
+++ b/Common/ExecutionModel/vtkDataSetAlgorithm.h
@@ -104,13 +104,13 @@ public:
 
   // Description:
   // see vtkAlgorithm for details
-  virtual int ProcessRequest(vtkInformation* request,
+  int ProcessRequest(vtkInformation* request,
                              vtkInformationVector** inputVector,
-                             vtkInformationVector* outputVector);
+                             vtkInformationVector* outputVector) VTK_OVERRIDE;
 
 protected:
   vtkDataSetAlgorithm();
-  ~vtkDataSetAlgorithm() {}
+  ~vtkDataSetAlgorithm() VTK_OVERRIDE {}
 
   // Description:
   // This is called within ProcessRequest when a request asks for
@@ -158,8 +158,8 @@ protected:
 
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   vtkDataObject *GetInput(int port);
 
diff --git a/Common/ExecutionModel/vtkDemandDrivenPipeline.h b/Common/ExecutionModel/vtkDemandDrivenPipeline.h
index aecf049b06a..9104accee2d 100644
--- a/Common/ExecutionModel/vtkDemandDrivenPipeline.h
+++ b/Common/ExecutionModel/vtkDemandDrivenPipeline.h
@@ -52,24 +52,24 @@ public:
   // Description:
   // Generalized interface for asking the executive to fulfill update
   // requests.
-  virtual int ProcessRequest(vtkInformation* request,
+  int ProcessRequest(vtkInformation* request,
                              vtkInformationVector** inInfo,
-                             vtkInformationVector* outInfo);
+                             vtkInformationVector* outInfo) VTK_OVERRIDE;
 
   // Description:
   // Implement the pipeline modified time request.
-  virtual int
+  int
   ComputePipelineMTime(vtkInformation* request,
                        vtkInformationVector** inInfoVec,
                        vtkInformationVector* outInfoVec,
                        int requestFromOutputPort,
-                       vtkMTimeType* mtime);
+                       vtkMTimeType* mtime) VTK_OVERRIDE;
 
   // Description:
   // Bring the algorithm's outputs up-to-date.  Returns 1 for success
   // and 0 for failure.
-  virtual int Update();
-  virtual int Update(int port);
+  int Update() VTK_OVERRIDE;
+  int Update(int port) VTK_OVERRIDE;
 
   // Description:
   // Get the PipelineMTime for this exective.
@@ -92,11 +92,11 @@ public:
   // Bring the output data object's existence up to date.  This does
   // not actually produce data, but does create the data object that
   // will store data produced during the UpdateData step.
-  virtual int UpdateDataObject();
+  int UpdateDataObject() VTK_OVERRIDE;
 
   // Description:
   // Bring the output information up to date.
-  virtual int UpdateInformation();
+  int UpdateInformation() VTK_OVERRIDE;
 
   // Description:
   // Bring the output data up to date.  This should be called only
@@ -146,7 +146,7 @@ public:
 
 protected:
   vtkDemandDrivenPipeline();
-  ~vtkDemandDrivenPipeline();
+  ~vtkDemandDrivenPipeline() VTK_OVERRIDE;
 
   // Helper methods to send requests to the algorithm.
   virtual int ExecuteDataObject(vtkInformation* request,
@@ -161,7 +161,7 @@ protected:
 
 
   // Reset the pipeline update values in the given output information object.
-  virtual void ResetPipelineInformation(int, vtkInformation*);
+  void ResetPipelineInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   // Check whether the data object in the pipeline information for an
   // output port exists and has a valid type.
diff --git a/Common/ExecutionModel/vtkDirectedGraphAlgorithm.h b/Common/ExecutionModel/vtkDirectedGraphAlgorithm.h
index 9f307c3e884..9c618df4148 100644
--- a/Common/ExecutionModel/vtkDirectedGraphAlgorithm.h
+++ b/Common/ExecutionModel/vtkDirectedGraphAlgorithm.h
@@ -55,9 +55,9 @@ public:
 
   // Description:
   // see vtkAlgorithm for details
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
   // Description:
   // Get the output data object for a port on this algorithm.
@@ -73,7 +73,7 @@ public:
 
 protected:
   vtkDirectedGraphAlgorithm();
-  ~vtkDirectedGraphAlgorithm();
+  ~vtkDirectedGraphAlgorithm() VTK_OVERRIDE;
 
   // convenience method
   virtual int RequestInformation(vtkInformation* request,
@@ -95,8 +95,8 @@ protected:
                                   vtkInformationVector*);
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkDirectedGraphAlgorithm(const vtkDirectedGraphAlgorithm&) VTK_DELETE_FUNCTION;
diff --git a/Common/ExecutionModel/vtkEnsembleSource.h b/Common/ExecutionModel/vtkEnsembleSource.h
index 4047283fc12..b14bac0712c 100644
--- a/Common/ExecutionModel/vtkEnsembleSource.h
+++ b/Common/ExecutionModel/vtkEnsembleSource.h
@@ -78,16 +78,16 @@ public:
 
 protected:
   vtkEnsembleSource();
-  ~vtkEnsembleSource();
+  ~vtkEnsembleSource() VTK_OVERRIDE;
 
   static vtkInformationIntegerKey* DATA_MEMBER();
 
   friend class vtkInformationEnsembleMemberRequestKey;
 
-  virtual int ProcessRequest(vtkInformation *request,
+  int ProcessRequest(vtkInformation *request,
                              vtkInformationVector **inputVector,
-                             vtkInformationVector *outputVector);
-  virtual int FillOutputPortInformation(int, vtkInformation*);
+                             vtkInformationVector *outputVector) VTK_OVERRIDE;
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   vtkAlgorithm* GetCurrentReader(vtkInformation*);
 
diff --git a/Common/ExecutionModel/vtkExecutive.h b/Common/ExecutionModel/vtkExecutive.h
index 3049d61864b..d7039046e91 100644
--- a/Common/ExecutionModel/vtkExecutive.h
+++ b/Common/ExecutionModel/vtkExecutive.h
@@ -188,7 +188,7 @@ public:
 
 protected:
   vtkExecutive();
-  ~vtkExecutive();
+  ~vtkExecutive() VTK_OVERRIDE;
 
   // Helper methods for subclasses.
   int InputPortIndexInRange(int port, const char* action);
diff --git a/Common/ExecutionModel/vtkExtentRCBPartitioner.h b/Common/ExecutionModel/vtkExtentRCBPartitioner.h
index e888512b700..b2a904e5c66 100644
--- a/Common/ExecutionModel/vtkExtentRCBPartitioner.h
+++ b/Common/ExecutionModel/vtkExtentRCBPartitioner.h
@@ -32,7 +32,7 @@ class VTKCOMMONEXECUTIONMODEL_EXPORT vtkExtentRCBPartitioner : public vtkObject
   public:
     static vtkExtentRCBPartitioner *New();
     vtkTypeMacro(vtkExtentRCBPartitioner,vtkObject);
-    void PrintSelf(ostream &oss, vtkIndent indent );
+    void PrintSelf(ostream &oss, vtkIndent indent ) VTK_OVERRIDE;
 
     // Description:
     // Set/Get the number of requested partitions
@@ -87,7 +87,7 @@ class VTKCOMMONEXECUTIONMODEL_EXPORT vtkExtentRCBPartitioner : public vtkObject
 
   protected:
     vtkExtentRCBPartitioner();
-   ~vtkExtentRCBPartitioner();
+   ~vtkExtentRCBPartitioner() VTK_OVERRIDE;
 
     // Description:
     // Resets the partitioner to the initial state, all previous partition
diff --git a/Common/ExecutionModel/vtkExtentSplitter.h b/Common/ExecutionModel/vtkExtentSplitter.h
index 5f77de9833a..8b365c1d6b5 100644
--- a/Common/ExecutionModel/vtkExtentSplitter.h
+++ b/Common/ExecutionModel/vtkExtentSplitter.h
@@ -93,7 +93,7 @@ public:
 
 protected:
   vtkExtentSplitter();
-  ~vtkExtentSplitter();
+  ~vtkExtentSplitter() VTK_OVERRIDE;
 
   // Internal utility methods.
   void SplitExtent(int* extent, int* subextent);
diff --git a/Common/ExecutionModel/vtkExtentTranslator.h b/Common/ExecutionModel/vtkExtentTranslator.h
index c96bcc10645..56d09463ae3 100644
--- a/Common/ExecutionModel/vtkExtentTranslator.h
+++ b/Common/ExecutionModel/vtkExtentTranslator.h
@@ -107,7 +107,7 @@ public:
 
 protected:
   vtkExtentTranslator();
-  ~vtkExtentTranslator();
+  ~vtkExtentTranslator() VTK_OVERRIDE;
 
   static vtkInformationIntegerKey* DATA_SPLIT_MODE();
 
diff --git a/Common/ExecutionModel/vtkGraphAlgorithm.h b/Common/ExecutionModel/vtkGraphAlgorithm.h
index 598c8422b87..3d8aef09500 100644
--- a/Common/ExecutionModel/vtkGraphAlgorithm.h
+++ b/Common/ExecutionModel/vtkGraphAlgorithm.h
@@ -54,9 +54,9 @@ public:
 
   // Description:
   // see vtkAlgorithm for details
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
   // Description:
   // Get the output data object for a port on this algorithm.
@@ -72,7 +72,7 @@ public:
 
 protected:
   vtkGraphAlgorithm();
-  ~vtkGraphAlgorithm();
+  ~vtkGraphAlgorithm() VTK_OVERRIDE;
 
   // convenience method
   virtual int RequestInformation(vtkInformation* request,
@@ -99,8 +99,8 @@ protected:
                                   vtkInformationVector*);
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkGraphAlgorithm(const vtkGraphAlgorithm&) VTK_DELETE_FUNCTION;
diff --git a/Common/ExecutionModel/vtkHierarchicalBoxDataSetAlgorithm.h b/Common/ExecutionModel/vtkHierarchicalBoxDataSetAlgorithm.h
index 7e84cda9bce..a4d81bc5329 100644
--- a/Common/ExecutionModel/vtkHierarchicalBoxDataSetAlgorithm.h
+++ b/Common/ExecutionModel/vtkHierarchicalBoxDataSetAlgorithm.h
@@ -47,13 +47,13 @@ public:
 
   // Description:
   // see vtkAlgorithm for details
-  virtual int ProcessRequest(vtkInformation* request,
+  int ProcessRequest(vtkInformation* request,
                              vtkInformationVector** inputVector,
-                             vtkInformationVector* outputVector);
+                             vtkInformationVector* outputVector) VTK_OVERRIDE;
 
 protected:
   vtkHierarchicalBoxDataSetAlgorithm();
-  ~vtkHierarchicalBoxDataSetAlgorithm();
+  ~vtkHierarchicalBoxDataSetAlgorithm() VTK_OVERRIDE;
 
   // Description:
   // This is called by the superclass.
@@ -87,11 +87,11 @@ protected:
     };
 
   // Create a default executive.
-  virtual vtkExecutive* CreateDefaultExecutive();
+  vtkExecutive* CreateDefaultExecutive() VTK_OVERRIDE;
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   vtkDataObject *GetInput(int port);
 
diff --git a/Common/ExecutionModel/vtkHyperOctreeAlgorithm.h b/Common/ExecutionModel/vtkHyperOctreeAlgorithm.h
index ac7fcc91429..06fa36fc776 100644
--- a/Common/ExecutionModel/vtkHyperOctreeAlgorithm.h
+++ b/Common/ExecutionModel/vtkHyperOctreeAlgorithm.h
@@ -49,9 +49,9 @@ public:
 
   // Description:
   // see vtkAlgorithm for details
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
   // this method is not recommended for use, but lots of old style filters
   // use it
@@ -75,7 +75,7 @@ public:
 
 protected:
   vtkHyperOctreeAlgorithm();
-  ~vtkHyperOctreeAlgorithm();
+  ~vtkHyperOctreeAlgorithm() VTK_OVERRIDE;
 
   // convenience method
   virtual int RequestInformation(vtkInformation* request,
@@ -97,8 +97,8 @@ protected:
                                   vtkInformationVector*);
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkHyperOctreeAlgorithm(const vtkHyperOctreeAlgorithm&) VTK_DELETE_FUNCTION;
diff --git a/Common/ExecutionModel/vtkHyperTreeGridAlgorithm.h b/Common/ExecutionModel/vtkHyperTreeGridAlgorithm.h
index f880d667244..a53946fdf33 100644
--- a/Common/ExecutionModel/vtkHyperTreeGridAlgorithm.h
+++ b/Common/ExecutionModel/vtkHyperTreeGridAlgorithm.h
@@ -54,9 +54,9 @@ public:
 
   // Description:
   // see vtkAlgorithm for details
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
   // this method is not recommended for use, but lots of old style filters
   // use it
@@ -80,7 +80,7 @@ public:
 
 protected:
   vtkHyperTreeGridAlgorithm();
-  ~vtkHyperTreeGridAlgorithm();
+  ~vtkHyperTreeGridAlgorithm() VTK_OVERRIDE;
 
   // convenience method
   virtual int RequestInformation(vtkInformation* request,
@@ -102,8 +102,8 @@ protected:
                                   vtkInformationVector*);
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkHyperTreeGridAlgorithm(const vtkHyperTreeGridAlgorithm&) VTK_DELETE_FUNCTION;
diff --git a/Common/ExecutionModel/vtkImageAlgorithm.h b/Common/ExecutionModel/vtkImageAlgorithm.h
index 60fc4226827..932b1acf58d 100644
--- a/Common/ExecutionModel/vtkImageAlgorithm.h
+++ b/Common/ExecutionModel/vtkImageAlgorithm.h
@@ -47,9 +47,9 @@ public:
   // Process a request from the executive.  For vtkImageAlgorithm, the
   // request will be delegated to one of the following methods: RequestData,
   // RequestInformation, or RequestUpdateExtent.
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
   // Description:
   // Assign a data object as input. Note that this method does not
@@ -75,7 +75,7 @@ public:
 
 protected:
   vtkImageAlgorithm();
-  ~vtkImageAlgorithm();
+  ~vtkImageAlgorithm() VTK_OVERRIDE;
 
   // Description:
   // Subclasses can reimplement this method to collect information
@@ -145,8 +145,8 @@ protected:
   // These method should be reimplemented by subclasses that have
   // more than a single input or single output.
   // See vtkAlgorithm for more information.
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkImageAlgorithm(const vtkImageAlgorithm&) VTK_DELETE_FUNCTION;
diff --git a/Common/ExecutionModel/vtkImageInPlaceFilter.h b/Common/ExecutionModel/vtkImageInPlaceFilter.h
index 6ba596a6080..3d8214f03c5 100644
--- a/Common/ExecutionModel/vtkImageInPlaceFilter.h
+++ b/Common/ExecutionModel/vtkImageInPlaceFilter.h
@@ -34,11 +34,11 @@ public:
 
 protected:
   vtkImageInPlaceFilter();
-  ~vtkImageInPlaceFilter();
+  ~vtkImageInPlaceFilter() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *request,
+  int RequestData(vtkInformation *request,
                           vtkInformationVector** inputVector,
-                          vtkInformationVector* outputVector);
+                          vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   void CopyData(vtkImageData *in, vtkImageData *out, int* outExt);
 
diff --git a/Common/ExecutionModel/vtkImageToStructuredGrid.h b/Common/ExecutionModel/vtkImageToStructuredGrid.h
index 6a04b1e6262..b4eb06595c0 100644
--- a/Common/ExecutionModel/vtkImageToStructuredGrid.h
+++ b/Common/ExecutionModel/vtkImageToStructuredGrid.h
@@ -36,24 +36,24 @@ class VTKCOMMONEXECUTIONMODEL_EXPORT vtkImageToStructuredGrid:
   public:
     static vtkImageToStructuredGrid* New();
     vtkTypeMacro(vtkImageToStructuredGrid,vtkStructuredGridAlgorithm);
-    void PrintSelf(ostream &oss, vtkIndent indent );
+    void PrintSelf(ostream &oss, vtkIndent indent ) VTK_OVERRIDE;
 
   protected:
     vtkImageToStructuredGrid();
-    virtual ~vtkImageToStructuredGrid();
+    ~vtkImageToStructuredGrid() VTK_OVERRIDE;
 
-    virtual int RequestData(
+    int RequestData(
         vtkInformation* request,
         vtkInformationVector** inputVector,
-        vtkInformationVector* outputVector );
+        vtkInformationVector* outputVector ) VTK_OVERRIDE;
 
     // Description:
     // Helper function to copy point/cell data from image to grid
     void CopyPointData( vtkImageData*, vtkStructuredGrid* );
     void CopyCellData( vtkImageData*, vtkStructuredGrid*  );
 
-    virtual int FillInputPortInformation(int, vtkInformation* info);
-    virtual int FillOutputPortInformation(int, vtkInformation* info );
+    int FillInputPortInformation(int, vtkInformation* info) VTK_OVERRIDE;
+    int FillOutputPortInformation(int, vtkInformation* info ) VTK_OVERRIDE;
 
   private:
     vtkImageToStructuredGrid(
diff --git a/Common/ExecutionModel/vtkImageToStructuredPoints.h b/Common/ExecutionModel/vtkImageToStructuredPoints.h
index 16fb21a26e3..f9f62b1593a 100644
--- a/Common/ExecutionModel/vtkImageToStructuredPoints.h
+++ b/Common/ExecutionModel/vtkImageToStructuredPoints.h
@@ -48,17 +48,17 @@ public:
 
 protected:
   vtkImageToStructuredPoints();
-  ~vtkImageToStructuredPoints();
+  ~vtkImageToStructuredPoints() VTK_OVERRIDE;
 
   // to translate the wholeExtent to have min 0 ( I do not like this hack).
   int Translate[3];
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int FillOutputPortInformation(int, vtkInformation*);
-  virtual int FillInputPortInformation(int, vtkInformation*);
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
 private:
   vtkImageToStructuredPoints(const vtkImageToStructuredPoints&) VTK_DELETE_FUNCTION;
diff --git a/Common/ExecutionModel/vtkInformationDataObjectMetaDataKey.h b/Common/ExecutionModel/vtkInformationDataObjectMetaDataKey.h
index 1323df39f37..9b47731859e 100644
--- a/Common/ExecutionModel/vtkInformationDataObjectMetaDataKey.h
+++ b/Common/ExecutionModel/vtkInformationDataObjectMetaDataKey.h
@@ -32,7 +32,7 @@ public:
   void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkInformationDataObjectMetaDataKey(const char* name, const char* location);
-  ~vtkInformationDataObjectMetaDataKey();
+  ~vtkInformationDataObjectMetaDataKey() VTK_OVERRIDE;
 
   // Description:
   // This method simply returns a new vtkInformationDataObjectMetaDataKey, given a
@@ -47,9 +47,9 @@ public:
   // Simply shallow copies the key from fromInfo to toInfo if request
   // has the REQUEST_INFORMATION() key.
   // This is used by the pipeline to propagate this key downstream.
-  virtual void CopyDefaultInformation(vtkInformation* request,
+  void CopyDefaultInformation(vtkInformation* request,
                                       vtkInformation* fromInfo,
-                                      vtkInformation* toInfo);
+                                      vtkInformation* toInfo) VTK_OVERRIDE;
 
 private:
   vtkInformationDataObjectMetaDataKey(const vtkInformationDataObjectMetaDataKey&) VTK_DELETE_FUNCTION;
diff --git a/Common/ExecutionModel/vtkInformationExecutivePortKey.h b/Common/ExecutionModel/vtkInformationExecutivePortKey.h
index 204dcae54e7..dd85b7eff94 100644
--- a/Common/ExecutionModel/vtkInformationExecutivePortKey.h
+++ b/Common/ExecutionModel/vtkInformationExecutivePortKey.h
@@ -35,7 +35,7 @@ public:
   void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkInformationExecutivePortKey(const char* name, const char* location);
-  ~vtkInformationExecutivePortKey();
+  ~vtkInformationExecutivePortKey() VTK_OVERRIDE;
 
   // Description:
   // This method simply returns a new vtkInformationExecutivePortKey, given a
diff --git a/Common/ExecutionModel/vtkInformationExecutivePortVectorKey.h b/Common/ExecutionModel/vtkInformationExecutivePortVectorKey.h
index bcb920949e7..6b8034d9321 100644
--- a/Common/ExecutionModel/vtkInformationExecutivePortVectorKey.h
+++ b/Common/ExecutionModel/vtkInformationExecutivePortVectorKey.h
@@ -35,7 +35,7 @@ public:
   void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkInformationExecutivePortVectorKey(const char* name, const char* location);
-  ~vtkInformationExecutivePortVectorKey();
+  ~vtkInformationExecutivePortVectorKey() VTK_OVERRIDE;
 
   // Description:
   // This method simply returns a new vtkInformationExecutivePortVectorKey,
diff --git a/Common/ExecutionModel/vtkInformationIntegerRequestKey.h b/Common/ExecutionModel/vtkInformationIntegerRequestKey.h
index 800aab96512..c4c01604896 100644
--- a/Common/ExecutionModel/vtkInformationIntegerRequestKey.h
+++ b/Common/ExecutionModel/vtkInformationIntegerRequestKey.h
@@ -42,7 +42,7 @@ public:
   void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkInformationIntegerRequestKey(const char* name, const char* location);
-  ~vtkInformationIntegerRequestKey();
+  ~vtkInformationIntegerRequestKey() VTK_OVERRIDE;
 
   // Description:
   // This method simply returns a new vtkInformationIntegerRequestKey,
@@ -57,22 +57,22 @@ public:
   // Returns true if a value of type DataKey does not exist in dobjInfo
   // or if it is different that the value stored in pipelineInfo using
   // this key.
-  virtual bool NeedToExecute(vtkInformation* pipelineInfo,
-                             vtkInformation* dobjInfo);
+  bool NeedToExecute(vtkInformation* pipelineInfo,
+                             vtkInformation* dobjInfo) VTK_OVERRIDE;
 
   // Description:
   // Copies the value stored in pipelineInfo using this key into
   // dobjInfo.
-  virtual void StoreMetaData(vtkInformation* request,
+  void StoreMetaData(vtkInformation* request,
                              vtkInformation* pipelineInfo,
-                             vtkInformation* dobjInfo);
+                             vtkInformation* dobjInfo) VTK_OVERRIDE;
 
   // Description:
   // Copies the value stored in fromInfo using this key into toInfo
   // if request has the REQUEST_UPDATE_EXTENT key.
-  virtual void CopyDefaultInformation(vtkInformation* request,
+  void CopyDefaultInformation(vtkInformation* request,
                                       vtkInformation* fromInfo,
-                                      vtkInformation* toInfo);
+                                      vtkInformation* toInfo) VTK_OVERRIDE;
 
 protected:
   vtkInformationIntegerKey* DataKey;
diff --git a/Common/ExecutionModel/vtkMultiBlockDataSetAlgorithm.h b/Common/ExecutionModel/vtkMultiBlockDataSetAlgorithm.h
index 18a657d1526..26693e2a8e1 100644
--- a/Common/ExecutionModel/vtkMultiBlockDataSetAlgorithm.h
+++ b/Common/ExecutionModel/vtkMultiBlockDataSetAlgorithm.h
@@ -48,13 +48,13 @@ public:
 
   // Description:
   // see vtkAlgorithm for details
-  virtual int ProcessRequest(vtkInformation* request,
+  int ProcessRequest(vtkInformation* request,
                              vtkInformationVector** inputVector,
-                             vtkInformationVector* outputVector);
+                             vtkInformationVector* outputVector) VTK_OVERRIDE;
 
 protected:
   vtkMultiBlockDataSetAlgorithm();
-  ~vtkMultiBlockDataSetAlgorithm() {}
+  ~vtkMultiBlockDataSetAlgorithm() VTK_OVERRIDE {}
 
   // Description:
   // This is called by the superclass.
@@ -88,11 +88,11 @@ protected:
     };
 
   // Create a default executive.
-  virtual vtkExecutive* CreateDefaultExecutive();
+  vtkExecutive* CreateDefaultExecutive() VTK_OVERRIDE;
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   vtkDataObject *GetInput(int port);
 
diff --git a/Common/ExecutionModel/vtkMultiTimeStepAlgorithm.h b/Common/ExecutionModel/vtkMultiTimeStepAlgorithm.h
index a635bd6122c..f695c41592e 100644
--- a/Common/ExecutionModel/vtkMultiTimeStepAlgorithm.h
+++ b/Common/ExecutionModel/vtkMultiTimeStepAlgorithm.h
@@ -45,7 +45,7 @@ public:
 protected:
   vtkMultiTimeStepAlgorithm();
 
-  ~vtkMultiTimeStepAlgorithm()
+  ~vtkMultiTimeStepAlgorithm() VTK_OVERRIDE
   {
   };
 
@@ -86,7 +86,7 @@ protected:
     return 1;
   }
 
-  int ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
+  int ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) VTK_OVERRIDE;
 
   bool CacheData;
   unsigned int NumberOfCacheEntries;
diff --git a/Common/ExecutionModel/vtkNonOverlappingAMRAlgorithm.h b/Common/ExecutionModel/vtkNonOverlappingAMRAlgorithm.h
index a592ef2add2..d123c041991 100644
--- a/Common/ExecutionModel/vtkNonOverlappingAMRAlgorithm.h
+++ b/Common/ExecutionModel/vtkNonOverlappingAMRAlgorithm.h
@@ -41,12 +41,12 @@ class VTKCOMMONEXECUTIONMODEL_EXPORT vtkNonOverlappingAMRAlgorithm :
 
   protected:
     vtkNonOverlappingAMRAlgorithm();
-    virtual ~vtkNonOverlappingAMRAlgorithm();
+    ~vtkNonOverlappingAMRAlgorithm() VTK_OVERRIDE;
 
     // Description:
     // See algorithm for more info.
-    virtual int FillOutputPortInformation(int port, vtkInformation* info);
-    virtual int FillInputPortInformation(int port, vtkInformation* info);
+    int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+    int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   private:
     vtkNonOverlappingAMRAlgorithm(const vtkNonOverlappingAMRAlgorithm&) VTK_DELETE_FUNCTION;
diff --git a/Common/ExecutionModel/vtkOverlappingAMRAlgorithm.h b/Common/ExecutionModel/vtkOverlappingAMRAlgorithm.h
index 8531f0e9c36..707588537f0 100644
--- a/Common/ExecutionModel/vtkOverlappingAMRAlgorithm.h
+++ b/Common/ExecutionModel/vtkOverlappingAMRAlgorithm.h
@@ -42,12 +42,12 @@ class VTKCOMMONEXECUTIONMODEL_EXPORT vtkOverlappingAMRAlgorithm :
 
   protected:
     vtkOverlappingAMRAlgorithm();
-    virtual ~vtkOverlappingAMRAlgorithm();
+    ~vtkOverlappingAMRAlgorithm() VTK_OVERRIDE;
 
     // Description:
     // See algorithm for more info.
-    virtual int FillOutputPortInformation(int port, vtkInformation* info);
-    virtual int FillInputPortInformation(int port, vtkInformation* info);
+    int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+    int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   private:
     vtkOverlappingAMRAlgorithm(const vtkOverlappingAMRAlgorithm&) VTK_DELETE_FUNCTION;
diff --git a/Common/ExecutionModel/vtkPassInputTypeAlgorithm.h b/Common/ExecutionModel/vtkPassInputTypeAlgorithm.h
index cdc2929cd22..a066a030131 100644
--- a/Common/ExecutionModel/vtkPassInputTypeAlgorithm.h
+++ b/Common/ExecutionModel/vtkPassInputTypeAlgorithm.h
@@ -111,13 +111,13 @@ public:
 
   // Description:
   // see vtkAlgorithm for details
-  virtual int ProcessRequest(vtkInformation* request,
+  int ProcessRequest(vtkInformation* request,
                              vtkInformationVector** inputVector,
-                             vtkInformationVector* outputVector);
+                             vtkInformationVector* outputVector) VTK_OVERRIDE;
 
 protected:
   vtkPassInputTypeAlgorithm();
-  ~vtkPassInputTypeAlgorithm() {}
+  ~vtkPassInputTypeAlgorithm() VTK_OVERRIDE {}
 
   // Description:
   // This is called within ProcessRequest when a request asks for
@@ -175,8 +175,8 @@ protected:
 
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   vtkDataObject *GetInput(int port);
 
diff --git a/Common/ExecutionModel/vtkPiecewiseFunctionAlgorithm.h b/Common/ExecutionModel/vtkPiecewiseFunctionAlgorithm.h
index ae802b1ce6e..653bdd01eac 100644
--- a/Common/ExecutionModel/vtkPiecewiseFunctionAlgorithm.h
+++ b/Common/ExecutionModel/vtkPiecewiseFunctionAlgorithm.h
@@ -52,9 +52,9 @@ public:
 
   // Description:
   // see vtkAlgorithm for details
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
   // this method is not recommended for use, but lots of old style filters
   // use it
@@ -77,7 +77,7 @@ public:
 
 protected:
   vtkPiecewiseFunctionAlgorithm();
-  ~vtkPiecewiseFunctionAlgorithm();
+  ~vtkPiecewiseFunctionAlgorithm() VTK_OVERRIDE;
 
   // Description:
   // This is called by the superclass.
@@ -87,8 +87,8 @@ protected:
                           vtkInformationVector* outputVector);
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkPiecewiseFunctionAlgorithm(const vtkPiecewiseFunctionAlgorithm&) VTK_DELETE_FUNCTION;
diff --git a/Common/ExecutionModel/vtkPiecewiseFunctionShiftScale.h b/Common/ExecutionModel/vtkPiecewiseFunctionShiftScale.h
index 268a15c4f92..6d3710e3f2b 100644
--- a/Common/ExecutionModel/vtkPiecewiseFunctionShiftScale.h
+++ b/Common/ExecutionModel/vtkPiecewiseFunctionShiftScale.h
@@ -44,10 +44,10 @@ public:
 
 protected:
   vtkPiecewiseFunctionShiftScale();
-  ~vtkPiecewiseFunctionShiftScale();
+  ~vtkPiecewiseFunctionShiftScale() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
 
   double PositionShift;
   double PositionScale;
diff --git a/Common/ExecutionModel/vtkPointSetAlgorithm.h b/Common/ExecutionModel/vtkPointSetAlgorithm.h
index 951ae40cd55..2690e397a68 100644
--- a/Common/ExecutionModel/vtkPointSetAlgorithm.h
+++ b/Common/ExecutionModel/vtkPointSetAlgorithm.h
@@ -86,13 +86,13 @@ public:
 
   // Description:
   // see vtkAlgorithm for details
-  virtual int ProcessRequest(vtkInformation* request,
+  int ProcessRequest(vtkInformation* request,
                              vtkInformationVector** inputVector,
-                             vtkInformationVector* outputVector);
+                             vtkInformationVector* outputVector) VTK_OVERRIDE;
 
 protected:
   vtkPointSetAlgorithm();
-  ~vtkPointSetAlgorithm() {}
+  ~vtkPointSetAlgorithm() VTK_OVERRIDE {}
 
   // Description:
   // This is called by the superclass.
@@ -126,8 +126,8 @@ protected:
     };
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkPointSetAlgorithm(const vtkPointSetAlgorithm&) VTK_DELETE_FUNCTION;
diff --git a/Common/ExecutionModel/vtkPolyDataAlgorithm.h b/Common/ExecutionModel/vtkPolyDataAlgorithm.h
index 1572fa68430..b685941f625 100644
--- a/Common/ExecutionModel/vtkPolyDataAlgorithm.h
+++ b/Common/ExecutionModel/vtkPolyDataAlgorithm.h
@@ -50,9 +50,9 @@ public:
 
   // Description:
   // see vtkAlgorithm for details
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
   // this method is not recommended for use, but lots of old style filters
   // use it
@@ -76,7 +76,7 @@ public:
 
 protected:
   vtkPolyDataAlgorithm();
-  ~vtkPolyDataAlgorithm();
+  ~vtkPolyDataAlgorithm() VTK_OVERRIDE;
 
   // convenience method
   virtual int RequestInformation(vtkInformation* request,
@@ -98,8 +98,8 @@ protected:
                                   vtkInformationVector*);
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkPolyDataAlgorithm(const vtkPolyDataAlgorithm&) VTK_DELETE_FUNCTION;
diff --git a/Common/ExecutionModel/vtkProgressObserver.h b/Common/ExecutionModel/vtkProgressObserver.h
index da1c7838232..6fb5924a11f 100644
--- a/Common/ExecutionModel/vtkProgressObserver.h
+++ b/Common/ExecutionModel/vtkProgressObserver.h
@@ -48,7 +48,7 @@ public:
 
 protected:
   vtkProgressObserver();
-  ~vtkProgressObserver();
+  ~vtkProgressObserver() VTK_OVERRIDE;
 
   double Progress;
 
diff --git a/Common/ExecutionModel/vtkRectilinearGridAlgorithm.h b/Common/ExecutionModel/vtkRectilinearGridAlgorithm.h
index 4dfca8e1b0b..e2227ad32bc 100644
--- a/Common/ExecutionModel/vtkRectilinearGridAlgorithm.h
+++ b/Common/ExecutionModel/vtkRectilinearGridAlgorithm.h
@@ -52,9 +52,9 @@ public:
 
   // Description:
   // see vtkAlgorithm for details
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
   // this method is not recommended for use, but lots of old style filters
   // use it
@@ -78,7 +78,7 @@ public:
 
 protected:
   vtkRectilinearGridAlgorithm();
-  ~vtkRectilinearGridAlgorithm();
+  ~vtkRectilinearGridAlgorithm() VTK_OVERRIDE;
 
   // convenience method
   virtual int RequestInformation(vtkInformation* request,
@@ -103,8 +103,8 @@ protected:
     };
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkRectilinearGridAlgorithm(const vtkRectilinearGridAlgorithm&) VTK_DELETE_FUNCTION;
diff --git a/Common/ExecutionModel/vtkSMPProgressObserver.h b/Common/ExecutionModel/vtkSMPProgressObserver.h
index 391c564c4c6..a54cd8cfd09 100644
--- a/Common/ExecutionModel/vtkSMPProgressObserver.h
+++ b/Common/ExecutionModel/vtkSMPProgressObserver.h
@@ -38,7 +38,7 @@ public:
   // Description:
   // Passes the progress event to a thread local ProgressObserver
   // instance.
-  void UpdateProgress(double amount);
+  void UpdateProgress(double amount) VTK_OVERRIDE;
 
   // Description:
   // Returns the progress observer local to the thread it was
@@ -50,7 +50,7 @@ public:
 
 protected:
   vtkSMPProgressObserver();
-  ~vtkSMPProgressObserver();
+  ~vtkSMPProgressObserver() VTK_OVERRIDE;
 
   vtkSMPThreadLocalObject<vtkProgressObserver> Observers;
 
diff --git a/Common/ExecutionModel/vtkScalarTree.h b/Common/ExecutionModel/vtkScalarTree.h
index d9661b9fa5b..f2989aa4514 100644
--- a/Common/ExecutionModel/vtkScalarTree.h
+++ b/Common/ExecutionModel/vtkScalarTree.h
@@ -123,7 +123,7 @@ public:
 
 protected:
   vtkScalarTree();
-  ~vtkScalarTree();
+  ~vtkScalarTree() VTK_OVERRIDE;
 
   vtkDataSet   *DataSet;    //the dataset over which the scalar tree is built
   vtkDataArray *Scalars;    //the scalars of the DataSet
diff --git a/Common/ExecutionModel/vtkSelectionAlgorithm.h b/Common/ExecutionModel/vtkSelectionAlgorithm.h
index f8b88f432af..a1a5b5a61ff 100644
--- a/Common/ExecutionModel/vtkSelectionAlgorithm.h
+++ b/Common/ExecutionModel/vtkSelectionAlgorithm.h
@@ -49,9 +49,9 @@ public:
 
   // Description:
   // see vtkAlgorithm for details
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
   // Description:
   // Get the output data object for a port on this algorithm.
@@ -67,7 +67,7 @@ public:
 
 protected:
   vtkSelectionAlgorithm();
-  ~vtkSelectionAlgorithm();
+  ~vtkSelectionAlgorithm() VTK_OVERRIDE;
 
   // convenience method
   virtual int RequestInformation(vtkInformation* request,
@@ -89,8 +89,8 @@ protected:
                                   vtkInformationVector*);
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkSelectionAlgorithm(const vtkSelectionAlgorithm&) VTK_DELETE_FUNCTION;
diff --git a/Common/ExecutionModel/vtkSimpleImageToImageFilter.h b/Common/ExecutionModel/vtkSimpleImageToImageFilter.h
index 9838b9317a6..5844b324026 100644
--- a/Common/ExecutionModel/vtkSimpleImageToImageFilter.h
+++ b/Common/ExecutionModel/vtkSimpleImageToImageFilter.h
@@ -48,17 +48,17 @@ public:
 
 protected:
   vtkSimpleImageToImageFilter();
-  ~vtkSimpleImageToImageFilter();
+  ~vtkSimpleImageToImageFilter() VTK_OVERRIDE;
 
   // These are called by the superclass.
-  virtual int RequestUpdateExtent (vtkInformation *,
+  int RequestUpdateExtent (vtkInformation *,
                                    vtkInformationVector **,
-                                   vtkInformationVector *);
+                                   vtkInformationVector *) VTK_OVERRIDE;
 
   // You don't have to touch this unless you have a good reason.
-  virtual int RequestData(vtkInformation *,
+  int RequestData(vtkInformation *,
                           vtkInformationVector **,
-                          vtkInformationVector *);
+                          vtkInformationVector *) VTK_OVERRIDE;
 
   // In the simplest case, this is the only method you need to define.
   virtual void SimpleExecute(vtkImageData* input, vtkImageData* output) = 0;
diff --git a/Common/ExecutionModel/vtkSimpleScalarTree.h b/Common/ExecutionModel/vtkSimpleScalarTree.h
index cbf31243966..03047b8546b 100644
--- a/Common/ExecutionModel/vtkSimpleScalarTree.h
+++ b/Common/ExecutionModel/vtkSimpleScalarTree.h
@@ -83,24 +83,24 @@ public:
   // Description:
   // Construct the scalar tree from the dataset provided. Checks build times
   // and modified time from input and reconstructs the tree if necessary.
-  virtual void BuildTree();
+  void BuildTree() VTK_OVERRIDE;
 
   // Description:
   // Initialize locator. Frees memory and resets object as appropriate.
-  virtual void Initialize();
+  void Initialize() VTK_OVERRIDE;
 
   // Description:
   // Begin to traverse the cells based on a scalar value. Returned cells
   // will likely have scalar values that span the scalar value specified.
-  virtual void InitTraversal(double scalarValue);
+  void InitTraversal(double scalarValue) VTK_OVERRIDE;
 
   // Description:
   // Return the next cell that may contain scalar value specified to
   // initialize traversal. The value NULL is returned if the list is
   // exhausted. Make sure that InitTraversal() has been invoked first or
   // you'll get erratic behavior.
-  virtual vtkCell *GetNextCell(vtkIdType &cellId, vtkIdList* &ptIds,
-                               vtkDataArray *cellScalars);
+  vtkCell *GetNextCell(vtkIdType &cellId, vtkIdList* &ptIds,
+                               vtkDataArray *cellScalars) VTK_OVERRIDE;
 
   // The following methods supports parallel (threaded)
   // applications. Basically batches of cells (which represent a
@@ -114,18 +114,18 @@ public:
   // of the isocontour value. Note that the cells found in
   // [0...(NumberOfCellBatches-1)] will contain all the cells
   // potentially containing the isocontour.
-  virtual vtkIdType GetNumberOfCellBatches();
+  vtkIdType GetNumberOfCellBatches() VTK_OVERRIDE;
 
   // Description:
   // Return the array of cell ids in the specified batch. The method
   // also returns the number of cell ids in the array. Make sure to
   // call InitTraversal() beforehand.
-  virtual const vtkIdType* GetCellBatch(vtkIdType batchNum,
-                                        vtkIdType& numCells);
+  const vtkIdType* GetCellBatch(vtkIdType batchNum,
+                                        vtkIdType& numCells) VTK_OVERRIDE;
 
 protected:
   vtkSimpleScalarTree();
-  ~vtkSimpleScalarTree();
+  ~vtkSimpleScalarTree() VTK_OVERRIDE;
 
   int MaxLevel;
   int Level;
diff --git a/Common/ExecutionModel/vtkSpanSpace.h b/Common/ExecutionModel/vtkSpanSpace.h
index c6a281fae6d..3d72da0e22c 100644
--- a/Common/ExecutionModel/vtkSpanSpace.h
+++ b/Common/ExecutionModel/vtkSpanSpace.h
@@ -73,27 +73,27 @@ public:
 
   // Description:
   // Initialize locator. Frees memory and resets object as appropriate.
-  virtual void Initialize();
+  void Initialize() VTK_OVERRIDE;
 
   // Description:
   // Construct the scalar tree from the dataset provided. Checks build times
   // and modified time from input and reconstructs the tree if necessary.
-  virtual void BuildTree();
+  void BuildTree() VTK_OVERRIDE;
 
   // Description:
   // Begin to traverse the cells based on a scalar value. Returned cells
   // will have scalar values that span the scalar value specified. Note this
   // method must be called prior to parallel or serial traversal since it
   // specifies the scalar value to be extracted.
-  virtual void InitTraversal(double scalarValue);
+  void InitTraversal(double scalarValue) VTK_OVERRIDE;
 
   // Description:
   // Return the next cell that may contain scalar value specified to
   // InitTraversal(). The value NULL is returned if the list is
   // exhausted. Make sure that InitTraversal() has been invoked first or
   // you'll get erratic behavior. This is inherently a serial operation.
-  virtual vtkCell *GetNextCell(vtkIdType &cellId, vtkIdList* &ptIds,
-                               vtkDataArray *cellScalars);
+  vtkCell *GetNextCell(vtkIdType &cellId, vtkIdList* &ptIds,
+                               vtkDataArray *cellScalars) VTK_OVERRIDE;
 
   // The following methods supports parallel (threaded)
   // applications. Basically batches of cells (which represent a
@@ -108,18 +108,18 @@ public:
   // of the isocontour value. Note that the cells found in
   // [0...(NumberOfCellBatches-1)] will contain all the cells
   // potentially containing the isocontour.
-  virtual vtkIdType GetNumberOfCellBatches();
+  vtkIdType GetNumberOfCellBatches() VTK_OVERRIDE;
 
   // Description:
   // Return the array of cell ids in the specified batch. The method
   // also returns the number of cell ids in the array. Make sure to
   // call InitTraversal() beforehand.
-  virtual const vtkIdType* GetCellBatch(vtkIdType batchNum,
-                                        vtkIdType& numCells);
+  const vtkIdType* GetCellBatch(vtkIdType batchNum,
+                                        vtkIdType& numCells) VTK_OVERRIDE;
 
 protected:
   vtkSpanSpace();
-  ~vtkSpanSpace();
+  ~vtkSpanSpace() VTK_OVERRIDE;
 
   vtkIdType Resolution;
   vtkInternalSpanSpace *SpanSpace;
diff --git a/Common/ExecutionModel/vtkStreamingDemandDrivenPipeline.h b/Common/ExecutionModel/vtkStreamingDemandDrivenPipeline.h
index 196a2deca91..d2b7db21419 100644
--- a/Common/ExecutionModel/vtkStreamingDemandDrivenPipeline.h
+++ b/Common/ExecutionModel/vtkStreamingDemandDrivenPipeline.h
@@ -49,14 +49,14 @@ public:
   // Description:
   // Generalized interface for asking the executive to fulfill update
   // requests.
-  virtual int ProcessRequest(vtkInformation* request,
+  int ProcessRequest(vtkInformation* request,
                              vtkInformationVector** inInfo,
-                             vtkInformationVector* outInfo);
+                             vtkInformationVector* outInfo) VTK_OVERRIDE;
 
   // Description:
   // Bring the outputs up-to-date.
-  virtual int Update();
-  virtual int Update(int port);
+  int Update() VTK_OVERRIDE;
+  int Update(int port) VTK_OVERRIDE;
   virtual int UpdateWholeExtent();
 
   // Description:
@@ -236,7 +236,7 @@ public:
 
 protected:
   vtkStreamingDemandDrivenPipeline();
-  ~vtkStreamingDemandDrivenPipeline();
+  ~vtkStreamingDemandDrivenPipeline() VTK_OVERRIDE;
 
   // Description:
   // Keep track of the update time request corresponding to the
@@ -256,14 +256,14 @@ protected:
 
   // Setup default information on the output after the algorithm
   // executes information.
-  virtual int ExecuteInformation(vtkInformation* request,
+  int ExecuteInformation(vtkInformation* request,
                                  vtkInformationVector** inInfoVec,
-                                 vtkInformationVector* outInfoVec);
+                                 vtkInformationVector* outInfoVec) VTK_OVERRIDE;
 
   // Copy information for the given request.
-  virtual void CopyDefaultInformation(vtkInformation* request, int direction,
+  void CopyDefaultInformation(vtkInformation* request, int direction,
                                       vtkInformationVector** inInfoVec,
-                                      vtkInformationVector* outInfoVec);
+                                      vtkInformationVector* outInfoVec) VTK_OVERRIDE;
 
   // Helper to check output information before propagating it to inputs.
   virtual int VerifyOutputInformation(int outputPort,
@@ -272,26 +272,26 @@ protected:
 
 
   // Override this check to account for update extent.
-  virtual int NeedToExecuteData(int outputPort,
+  int NeedToExecuteData(int outputPort,
                                 vtkInformationVector** inInfoVec,
-                                vtkInformationVector* outInfoVec);
+                                vtkInformationVector* outInfoVec) VTK_OVERRIDE;
 
   // Override these to handle the continue-executing option.
-  virtual void ExecuteDataStart(vtkInformation* request,
+  void ExecuteDataStart(vtkInformation* request,
                                 vtkInformationVector** inInfoVec,
-                                vtkInformationVector* outInfoVec);
-  virtual void ExecuteDataEnd(vtkInformation* request,
+                                vtkInformationVector* outInfoVec) VTK_OVERRIDE;
+  void ExecuteDataEnd(vtkInformation* request,
                               vtkInformationVector** inInfoVec,
-                              vtkInformationVector* outInfoVec);
+                              vtkInformationVector* outInfoVec) VTK_OVERRIDE;
 
   // Override this to handle cropping and ghost levels.
-  virtual void MarkOutputsGenerated(vtkInformation* request,
+  void MarkOutputsGenerated(vtkInformation* request,
                                     vtkInformationVector** inInfoVec,
-                                    vtkInformationVector* outInfoVec);
+                                    vtkInformationVector* outInfoVec) VTK_OVERRIDE;
 
 
   // Remove update/whole extent when resetting pipeline information.
-  virtual void ResetPipelineInformation(int port, vtkInformation*);
+  void ResetPipelineInformation(int port, vtkInformation*) VTK_OVERRIDE;
 
   // Flag for when an algorithm returns with CONTINUE_EXECUTING in the
   // request.
diff --git a/Common/ExecutionModel/vtkStructuredGridAlgorithm.h b/Common/ExecutionModel/vtkStructuredGridAlgorithm.h
index 99cc0527781..e3bb0b17a52 100644
--- a/Common/ExecutionModel/vtkStructuredGridAlgorithm.h
+++ b/Common/ExecutionModel/vtkStructuredGridAlgorithm.h
@@ -50,9 +50,9 @@ public:
 
   // Description:
   // see vtkAlgorithm for details
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
   // this method is not recommended for use, but lots of old style filters
   // use it
@@ -76,7 +76,7 @@ public:
 
 protected:
   vtkStructuredGridAlgorithm();
-  ~vtkStructuredGridAlgorithm();
+  ~vtkStructuredGridAlgorithm() VTK_OVERRIDE;
 
   // convenience method
   virtual int RequestInformation(vtkInformation* request,
@@ -101,8 +101,8 @@ protected:
     };
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkStructuredGridAlgorithm(const vtkStructuredGridAlgorithm&) VTK_DELETE_FUNCTION;
diff --git a/Common/ExecutionModel/vtkTableAlgorithm.h b/Common/ExecutionModel/vtkTableAlgorithm.h
index a9eee61fa78..6da11a6d0e0 100644
--- a/Common/ExecutionModel/vtkTableAlgorithm.h
+++ b/Common/ExecutionModel/vtkTableAlgorithm.h
@@ -51,9 +51,9 @@ public:
 
   // Description:
   // see vtkAlgorithm for details
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
   // Description:
   // Get the output data object for a port on this algorithm.
@@ -69,7 +69,7 @@ public:
 
 protected:
   vtkTableAlgorithm();
-  ~vtkTableAlgorithm();
+  ~vtkTableAlgorithm() VTK_OVERRIDE;
 
   // convenience method
   virtual int RequestInformation(vtkInformation* request,
@@ -91,8 +91,8 @@ protected:
                                   vtkInformationVector*);
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkTableAlgorithm(const vtkTableAlgorithm&) VTK_DELETE_FUNCTION;
diff --git a/Common/ExecutionModel/vtkThreadedCompositeDataPipeline.h b/Common/ExecutionModel/vtkThreadedCompositeDataPipeline.h
index 7a374003ff0..ab98e84be87 100644
--- a/Common/ExecutionModel/vtkThreadedCompositeDataPipeline.h
+++ b/Common/ExecutionModel/vtkThreadedCompositeDataPipeline.h
@@ -36,25 +36,25 @@ class VTKCOMMONEXECUTIONMODEL_EXPORT vtkThreadedCompositeDataPipeline : public v
  public:
   static vtkThreadedCompositeDataPipeline* New();
   vtkTypeMacro(vtkThreadedCompositeDataPipeline,vtkCompositeDataPipeline);
-  void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   // Description:
   // An API to CallAlgorithm that allows you to pass in the info objects to
   // be used
-  virtual int CallAlgorithm(vtkInformation* request, int direction,
+  int CallAlgorithm(vtkInformation* request, int direction,
                             vtkInformationVector** inInfo,
-                            vtkInformationVector* outInfo);
+                            vtkInformationVector* outInfo) VTK_OVERRIDE;
 
  protected:
   vtkThreadedCompositeDataPipeline();
-  ~vtkThreadedCompositeDataPipeline();
-  virtual void ExecuteEach(vtkCompositeDataIterator* iter,
+  ~vtkThreadedCompositeDataPipeline() VTK_OVERRIDE;
+  void ExecuteEach(vtkCompositeDataIterator* iter,
                            vtkInformationVector** inInfoVec,
                            vtkInformationVector* outInfoVec,
                            int compositePort,
                            int connection,
                            vtkInformation* request,
-                           vtkCompositeDataSet* compositeOutput);
+                           vtkCompositeDataSet* compositeOutput) VTK_OVERRIDE;
 
  private:
   vtkThreadedCompositeDataPipeline(const vtkThreadedCompositeDataPipeline&) VTK_DELETE_FUNCTION;
diff --git a/Common/ExecutionModel/vtkThreadedImageAlgorithm.h b/Common/ExecutionModel/vtkThreadedImageAlgorithm.h
index 96d3b60db79..9c20ac5ff0a 100644
--- a/Common/ExecutionModel/vtkThreadedImageAlgorithm.h
+++ b/Common/ExecutionModel/vtkThreadedImageAlgorithm.h
@@ -103,7 +103,7 @@ public:
 
 protected:
   vtkThreadedImageAlgorithm();
-  ~vtkThreadedImageAlgorithm();
+  ~vtkThreadedImageAlgorithm() VTK_OVERRIDE;
 
   vtkMultiThreader *Threader;
   int NumberOfThreads;
@@ -127,9 +127,9 @@ protected:
   // Description:
   // This is called by the superclass.
   // This is the method you should override.
-  virtual int RequestData(vtkInformation* request,
+  int RequestData(vtkInformation* request,
                           vtkInformationVector** inputVector,
-                          vtkInformationVector* outputVector);
+                          vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   // Description:
   // Execute ThreadedRequestData for the given set of pieces.
diff --git a/Common/ExecutionModel/vtkTreeAlgorithm.h b/Common/ExecutionModel/vtkTreeAlgorithm.h
index 52f5d7bef6b..c7cef1e7c43 100644
--- a/Common/ExecutionModel/vtkTreeAlgorithm.h
+++ b/Common/ExecutionModel/vtkTreeAlgorithm.h
@@ -48,9 +48,9 @@ public:
 
   // Description:
   // see vtkAlgorithm for details
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
   // Description:
   // Get the output data object for a port on this algorithm.
@@ -66,7 +66,7 @@ public:
 
 protected:
   vtkTreeAlgorithm();
-  ~vtkTreeAlgorithm();
+  ~vtkTreeAlgorithm() VTK_OVERRIDE;
 
   // convenience method
   virtual int RequestInformation(vtkInformation* request,
@@ -88,8 +88,8 @@ protected:
                                   vtkInformationVector*);
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkTreeAlgorithm(const vtkTreeAlgorithm&) VTK_DELETE_FUNCTION;
diff --git a/Common/ExecutionModel/vtkTrivialConsumer.h b/Common/ExecutionModel/vtkTrivialConsumer.h
index 56ed9a3d51f..d835e61d18c 100644
--- a/Common/ExecutionModel/vtkTrivialConsumer.h
+++ b/Common/ExecutionModel/vtkTrivialConsumer.h
@@ -34,10 +34,10 @@ public:
 
 protected:
   vtkTrivialConsumer();
-  ~vtkTrivialConsumer();
+  ~vtkTrivialConsumer() VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int, vtkInformation*);
-  virtual int FillOutputPortInformation(int, vtkInformation*);
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 private:
   vtkTrivialConsumer(const vtkTrivialConsumer&) VTK_DELETE_FUNCTION;
   void operator=(const vtkTrivialConsumer&) VTK_DELETE_FUNCTION;
diff --git a/Common/ExecutionModel/vtkTrivialProducer.h b/Common/ExecutionModel/vtkTrivialProducer.h
index 4a597e92a1a..07a159715b1 100644
--- a/Common/ExecutionModel/vtkTrivialProducer.h
+++ b/Common/ExecutionModel/vtkTrivialProducer.h
@@ -39,9 +39,9 @@ public:
   // Process upstream/downstream requests trivially.  The associated
   // output data object is never modified, but it is queried to
   // fulfill requests.
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
   // Description:
   // Set the data object that is "produced" by this producer.  It is
@@ -51,7 +51,7 @@ public:
   // Description:
   // The modified time of this producer is the newer of this object or
   // the assigned output.
-  virtual vtkMTimeType GetMTime() VTK_OVERRIDE;
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   // Description:
   // Set the whole extent to use for the data this producer is producing.
@@ -69,11 +69,11 @@ public:
 
 protected:
   vtkTrivialProducer();
-  ~vtkTrivialProducer();
+  ~vtkTrivialProducer() VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int, vtkInformation*);
-  virtual int FillOutputPortInformation(int, vtkInformation*);
-  virtual vtkExecutive* CreateDefaultExecutive();
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
+  vtkExecutive* CreateDefaultExecutive() VTK_OVERRIDE;
 
   // The real data object.
   vtkDataObject* Output;
diff --git a/Common/ExecutionModel/vtkUndirectedGraphAlgorithm.h b/Common/ExecutionModel/vtkUndirectedGraphAlgorithm.h
index 05c799ee65b..dbd2e902447 100644
--- a/Common/ExecutionModel/vtkUndirectedGraphAlgorithm.h
+++ b/Common/ExecutionModel/vtkUndirectedGraphAlgorithm.h
@@ -52,9 +52,9 @@ public:
 
   // Description:
   // see vtkAlgorithm for details
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
   // Description:
   // Get the output data object for a port on this algorithm.
@@ -70,7 +70,7 @@ public:
 
 protected:
   vtkUndirectedGraphAlgorithm();
-  ~vtkUndirectedGraphAlgorithm();
+  ~vtkUndirectedGraphAlgorithm() VTK_OVERRIDE;
 
   // convenience method
   virtual int RequestInformation(vtkInformation* request,
@@ -92,8 +92,8 @@ protected:
                                   vtkInformationVector*);
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkUndirectedGraphAlgorithm(const vtkUndirectedGraphAlgorithm&) VTK_DELETE_FUNCTION;
diff --git a/Common/ExecutionModel/vtkUniformGridAMRAlgorithm.h b/Common/ExecutionModel/vtkUniformGridAMRAlgorithm.h
index 71bd4b29982..2165868a97b 100644
--- a/Common/ExecutionModel/vtkUniformGridAMRAlgorithm.h
+++ b/Common/ExecutionModel/vtkUniformGridAMRAlgorithm.h
@@ -49,13 +49,13 @@ class VTKCOMMONEXECUTIONMODEL_EXPORT vtkUniformGridAMRAlgorithm : public vtkAlgo
 
     // Description:
     // See vtkAlgorithm for details
-    virtual int ProcessRequest(vtkInformation* request,
+    int ProcessRequest(vtkInformation* request,
                                vtkInformationVector** inputVector,
-                               vtkInformationVector* outputVector );
+                               vtkInformationVector* outputVector ) VTK_OVERRIDE;
 
   protected:
     vtkUniformGridAMRAlgorithm();
-    virtual ~vtkUniformGridAMRAlgorithm();
+    ~vtkUniformGridAMRAlgorithm() VTK_OVERRIDE;
 
     // Description:
     // This is called by the superclass.
@@ -87,12 +87,12 @@ class VTKCOMMONEXECUTIONMODEL_EXPORT vtkUniformGridAMRAlgorithm : public vtkAlgo
 
     // Description:
     // Create a default executive
-    virtual vtkExecutive* CreateDefaultExecutive();
+    vtkExecutive* CreateDefaultExecutive() VTK_OVERRIDE;
 
     // Description:
     // See algorithm for more info.
-    virtual int FillOutputPortInformation(int port, vtkInformation* info);
-    virtual int FillInputPortInformation(int port, vtkInformation* info);
+    int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+    int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
     vtkDataObject *GetInput(int port);
 
diff --git a/Common/ExecutionModel/vtkUniformGridPartitioner.h b/Common/ExecutionModel/vtkUniformGridPartitioner.h
index 4659d9b2e55..cc0ad30a027 100644
--- a/Common/ExecutionModel/vtkUniformGridPartitioner.h
+++ b/Common/ExecutionModel/vtkUniformGridPartitioner.h
@@ -39,7 +39,7 @@ class VTKCOMMONEXECUTIONMODEL_EXPORT vtkUniformGridPartitioner :
   public:
       static vtkUniformGridPartitioner *New();
       vtkTypeMacro(vtkUniformGridPartitioner, vtkMultiBlockDataSetAlgorithm);
-      void PrintSelf(ostream &oss, vtkIndent indent );
+      void PrintSelf(ostream &oss, vtkIndent indent ) VTK_OVERRIDE;
 
       // Description:
       // Set/Get macro for the number of subdivisions.
@@ -58,13 +58,13 @@ class VTKCOMMONEXECUTIONMODEL_EXPORT vtkUniformGridPartitioner :
 
   protected:
     vtkUniformGridPartitioner();
-    virtual ~vtkUniformGridPartitioner();
+    ~vtkUniformGridPartitioner() VTK_OVERRIDE;
 
     // Standard Pipeline methods
-    virtual int RequestData(
-       vtkInformation*,vtkInformationVector**,vtkInformationVector*);
-    virtual int FillInputPortInformation(int port, vtkInformation *info);
-    virtual int FillOutputPortInformation(int port, vtkInformation *info);
+    int RequestData(
+       vtkInformation*,vtkInformationVector**,vtkInformationVector*) VTK_OVERRIDE;
+    int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
+    int FillOutputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
     int NumberOfPartitions;
     int NumberOfGhostLayers;
diff --git a/Common/ExecutionModel/vtkUnstructuredGridAlgorithm.h b/Common/ExecutionModel/vtkUnstructuredGridAlgorithm.h
index a3ba7d87451..d3342d84947 100644
--- a/Common/ExecutionModel/vtkUnstructuredGridAlgorithm.h
+++ b/Common/ExecutionModel/vtkUnstructuredGridAlgorithm.h
@@ -49,9 +49,9 @@ public:
 
   // Description:
   // see vtkAlgorithm for details
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
   // this method is not recommended for use, but lots of old style filters
   // use it
@@ -75,7 +75,7 @@ public:
 
 protected:
   vtkUnstructuredGridAlgorithm();
-  ~vtkUnstructuredGridAlgorithm();
+  ~vtkUnstructuredGridAlgorithm() VTK_OVERRIDE;
 
   // convenience method
   virtual int RequestInformation(vtkInformation* request,
@@ -97,8 +97,8 @@ protected:
                                   vtkInformationVector*);
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkUnstructuredGridAlgorithm(const vtkUnstructuredGridAlgorithm&) VTK_DELETE_FUNCTION;
diff --git a/Common/ExecutionModel/vtkUnstructuredGridBaseAlgorithm.h b/Common/ExecutionModel/vtkUnstructuredGridBaseAlgorithm.h
index 358e76e141c..79a70a107de 100644
--- a/Common/ExecutionModel/vtkUnstructuredGridBaseAlgorithm.h
+++ b/Common/ExecutionModel/vtkUnstructuredGridBaseAlgorithm.h
@@ -49,9 +49,9 @@ public:
 
   // Description:
   // see vtkAlgorithm for details
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
   // Description:
   // Assign a data object as input. Note that this method does not
@@ -69,7 +69,7 @@ public:
 
 protected:
   vtkUnstructuredGridBaseAlgorithm();
-  ~vtkUnstructuredGridBaseAlgorithm();
+  ~vtkUnstructuredGridBaseAlgorithm() VTK_OVERRIDE;
 
   // convenience method
   virtual int RequestInformation(vtkInformation* request,
@@ -98,8 +98,8 @@ protected:
                                   vtkInformationVector*);
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkUnstructuredGridBaseAlgorithm(const vtkUnstructuredGridBaseAlgorithm&) VTK_DELETE_FUNCTION;
diff --git a/Common/Math/vtkAmoebaMinimizer.h b/Common/Math/vtkAmoebaMinimizer.h
index ab12847b7e5..ad9e6201e98 100644
--- a/Common/Math/vtkAmoebaMinimizer.h
+++ b/Common/Math/vtkAmoebaMinimizer.h
@@ -152,7 +152,7 @@ public:
 
 protected:
   vtkAmoebaMinimizer();
-  ~vtkAmoebaMinimizer();
+  ~vtkAmoebaMinimizer() VTK_OVERRIDE;
 
   void (*Function)(void *);
   void (*FunctionArgDelete)(void *);
diff --git a/Common/Math/vtkFunctionSet.h b/Common/Math/vtkFunctionSet.h
index 7c1616b7993..984f9068f90 100644
--- a/Common/Math/vtkFunctionSet.h
+++ b/Common/Math/vtkFunctionSet.h
@@ -58,7 +58,7 @@ public:
 
 protected:
   vtkFunctionSet();
-  ~vtkFunctionSet() {}
+  ~vtkFunctionSet() VTK_OVERRIDE {}
 
   int NumFuncs;
   int NumIndepVars;
diff --git a/Common/Math/vtkInitialValueProblemSolver.h b/Common/Math/vtkInitialValueProblemSolver.h
index 5e099a3cab5..fe076739a8f 100644
--- a/Common/Math/vtkInitialValueProblemSolver.h
+++ b/Common/Math/vtkInitialValueProblemSolver.h
@@ -112,7 +112,7 @@ public:
 
 protected:
   vtkInitialValueProblemSolver();
-  ~vtkInitialValueProblemSolver();
+  ~vtkInitialValueProblemSolver() VTK_OVERRIDE;
 
   virtual void Initialize();
 
diff --git a/Common/Math/vtkMatrix3x3.h b/Common/Math/vtkMatrix3x3.h
index ec0daea5f11..9e63bde535e 100644
--- a/Common/Math/vtkMatrix3x3.h
+++ b/Common/Math/vtkMatrix3x3.h
@@ -155,7 +155,7 @@ public:
 
 protected:
   vtkMatrix3x3();
-  ~vtkMatrix3x3();
+  ~vtkMatrix3x3() VTK_OVERRIDE;
 
   double Element[3][3]; // The elements of the 3x3 matrix
 
diff --git a/Common/Math/vtkMatrix4x4.h b/Common/Math/vtkMatrix4x4.h
index 2ef7f5266a8..28d3edd2eba 100644
--- a/Common/Math/vtkMatrix4x4.h
+++ b/Common/Math/vtkMatrix4x4.h
@@ -160,7 +160,7 @@ public:
 
 protected:
   vtkMatrix4x4() { vtkMatrix4x4::Identity(*this->Element); };
-  ~vtkMatrix4x4() {}
+  ~vtkMatrix4x4() VTK_OVERRIDE {}
 
   float FloatPoint[4];
   double DoublePoint[4];
diff --git a/Common/Math/vtkPolynomialSolversUnivariate.h b/Common/Math/vtkPolynomialSolversUnivariate.h
index 2b05eeabec3..a851bd94867 100644
--- a/Common/Math/vtkPolynomialSolversUnivariate.h
+++ b/Common/Math/vtkPolynomialSolversUnivariate.h
@@ -263,7 +263,7 @@ public:
 
 protected:
   vtkPolynomialSolversUnivariate() {}
-  ~vtkPolynomialSolversUnivariate() {}
+  ~vtkPolynomialSolversUnivariate() VTK_OVERRIDE {}
 
   static double DivisionTolerance;
 
diff --git a/Common/Math/vtkQuaternionInterpolator.h b/Common/Math/vtkQuaternionInterpolator.h
index 12f4fcc8b8c..599a25cf0a2 100644
--- a/Common/Math/vtkQuaternionInterpolator.h
+++ b/Common/Math/vtkQuaternionInterpolator.h
@@ -128,7 +128,7 @@ public:
 
 protected:
   vtkQuaternionInterpolator();
-  virtual ~vtkQuaternionInterpolator();
+  ~vtkQuaternionInterpolator() VTK_OVERRIDE;
 
   // Specify the type of interpolation to use
   int InterpolationType;
diff --git a/Common/Math/vtkRungeKutta2.h b/Common/Math/vtkRungeKutta2.h
index 40e5bd6e81b..1675602efcd 100644
--- a/Common/Math/vtkRungeKutta2.h
+++ b/Common/Math/vtkRungeKutta2.h
@@ -85,7 +85,7 @@ public:
 
 protected:
   vtkRungeKutta2();
-  ~vtkRungeKutta2();
+  ~vtkRungeKutta2() VTK_OVERRIDE;
 private:
   vtkRungeKutta2(const vtkRungeKutta2&) VTK_DELETE_FUNCTION;
   void operator=(const vtkRungeKutta2&) VTK_DELETE_FUNCTION;
diff --git a/Common/Math/vtkRungeKutta4.h b/Common/Math/vtkRungeKutta4.h
index 6c1648f57db..4b331450ab5 100644
--- a/Common/Math/vtkRungeKutta4.h
+++ b/Common/Math/vtkRungeKutta4.h
@@ -87,7 +87,7 @@ public:
 
 protected:
   vtkRungeKutta4();
-  ~vtkRungeKutta4();
+  ~vtkRungeKutta4() VTK_OVERRIDE;
 
   void Initialize() VTK_OVERRIDE;
 
diff --git a/Common/Math/vtkRungeKutta45.h b/Common/Math/vtkRungeKutta45.h
index 11f25f48799..aed4b9d882e 100644
--- a/Common/Math/vtkRungeKutta45.h
+++ b/Common/Math/vtkRungeKutta45.h
@@ -101,7 +101,7 @@ public:
 
 protected:
   vtkRungeKutta45();
-  ~vtkRungeKutta45();
+  ~vtkRungeKutta45() VTK_OVERRIDE;
 
   void Initialize() VTK_OVERRIDE;
 
diff --git a/Common/Misc/vtkContourValues.h b/Common/Misc/vtkContourValues.h
index 2a4bbf53287..4fa46e1a1ac 100644
--- a/Common/Misc/vtkContourValues.h
+++ b/Common/Misc/vtkContourValues.h
@@ -81,7 +81,7 @@ public:
 
 protected:
   vtkContourValues();
-  ~vtkContourValues();
+  ~vtkContourValues() VTK_OVERRIDE;
 
   vtkDoubleArray *Contours;
 
diff --git a/Common/Misc/vtkFunctionParser.h b/Common/Misc/vtkFunctionParser.h
index 77a3ff0137b..e7426a547ec 100644
--- a/Common/Misc/vtkFunctionParser.h
+++ b/Common/Misc/vtkFunctionParser.h
@@ -266,7 +266,7 @@ public:
 
 protected:
   vtkFunctionParser();
-  ~vtkFunctionParser();
+  ~vtkFunctionParser() VTK_OVERRIDE;
 
   int Parse();
 
diff --git a/Common/Misc/vtkHeap.h b/Common/Misc/vtkHeap.h
index 3b89e8279be..575e2c091db 100644
--- a/Common/Misc/vtkHeap.h
+++ b/Common/Misc/vtkHeap.h
@@ -83,7 +83,7 @@ public:
 
 protected:
   vtkHeap();
-  ~vtkHeap();
+  ~vtkHeap() VTK_OVERRIDE;
 
   void Add(size_t blockSize);
   void CleanAll();
diff --git a/Common/System/vtkClientSocket.h b/Common/System/vtkClientSocket.h
index 4639dbf2c7b..fe36c82d4f2 100644
--- a/Common/System/vtkClientSocket.h
+++ b/Common/System/vtkClientSocket.h
@@ -41,7 +41,7 @@ public:
 
 protected:
   vtkClientSocket();
-  ~vtkClientSocket();
+  ~vtkClientSocket() VTK_OVERRIDE;
 
   vtkSetMacro(ConnectingSide, bool);
   bool ConnectingSide;
diff --git a/Common/System/vtkDirectory.h b/Common/System/vtkDirectory.h
index 0fe828e9b85..aea12137f98 100644
--- a/Common/System/vtkDirectory.h
+++ b/Common/System/vtkDirectory.h
@@ -89,7 +89,7 @@ protected:
   // NumberOfFiles to 0
   void CleanUpFilesAndPath();
   vtkDirectory();
-  ~vtkDirectory() ;
+  ~vtkDirectory() VTK_OVERRIDE;
 
 private:
   char* Path;           // Path to Open'ed directory
diff --git a/Common/System/vtkServerSocket.h b/Common/System/vtkServerSocket.h
index ee0733f1dd5..830a9f8616f 100644
--- a/Common/System/vtkServerSocket.h
+++ b/Common/System/vtkServerSocket.h
@@ -46,7 +46,7 @@ public:
   int GetServerPort();
 protected:
   vtkServerSocket();
-  ~vtkServerSocket();
+  ~vtkServerSocket() VTK_OVERRIDE;
 
 private:
   vtkServerSocket(const vtkServerSocket&) VTK_DELETE_FUNCTION;
diff --git a/Common/System/vtkSocket.h b/Common/System/vtkSocket.h
index 2149d60ae70..398df2ccc39 100644
--- a/Common/System/vtkSocket.h
+++ b/Common/System/vtkSocket.h
@@ -67,7 +67,7 @@ public:
     unsigned long msec, int* selected_index);
 protected:
   vtkSocket();
-  ~vtkSocket();
+  ~vtkSocket() VTK_OVERRIDE;
 
   int SocketDescriptor;
 
diff --git a/Common/System/vtkSocketCollection.h b/Common/System/vtkSocketCollection.h
index 93159b632a1..27f51bb517a 100644
--- a/Common/System/vtkSocketCollection.h
+++ b/Common/System/vtkSocketCollection.h
@@ -56,7 +56,7 @@ public:
   void RemoveAllItems();
 protected:
   vtkSocketCollection();
-  ~vtkSocketCollection();
+  ~vtkSocketCollection() VTK_OVERRIDE;
 
   vtkSocket* SelectedSocket;
 private:
diff --git a/Common/System/vtkThreadMessager.h b/Common/System/vtkThreadMessager.h
index b7508056a35..05c4e8be3c1 100644
--- a/Common/System/vtkThreadMessager.h
+++ b/Common/System/vtkThreadMessager.h
@@ -65,7 +65,7 @@ public:
 
 protected:
   vtkThreadMessager();
-  ~vtkThreadMessager();
+  ~vtkThreadMessager() VTK_OVERRIDE;
 
 #ifdef VTK_USE_PTHREADS
   pthread_mutex_t Mutex;
diff --git a/Common/System/vtkTimerLog.h b/Common/System/vtkTimerLog.h
index 286f82c19c3..20ea9583f68 100644
--- a/Common/System/vtkTimerLog.h
+++ b/Common/System/vtkTimerLog.h
@@ -158,7 +158,7 @@ public:
 
 protected:
   vtkTimerLog() {this->StartTime=0; this->EndTime = 0;}; //insure constructor/destructor protected
-  virtual ~vtkTimerLog() { };
+  ~vtkTimerLog() VTK_OVERRIDE { };
 
   static vtkTimerLogEntry* GetEvent(int i);
 
diff --git a/Common/Transforms/vtkAbstractTransform.h b/Common/Transforms/vtkAbstractTransform.h
index d317c556b15..87119804532 100644
--- a/Common/Transforms/vtkAbstractTransform.h
+++ b/Common/Transforms/vtkAbstractTransform.h
@@ -243,7 +243,7 @@ public:
 
 protected:
   vtkAbstractTransform();
-  ~vtkAbstractTransform();
+  ~vtkAbstractTransform() VTK_OVERRIDE;
 
   // Description:
   // Perform any subclass-specific Update.
diff --git a/Common/Transforms/vtkCylindricalTransform.h b/Common/Transforms/vtkCylindricalTransform.h
index d73711f5b52..91dee346ac9 100644
--- a/Common/Transforms/vtkCylindricalTransform.h
+++ b/Common/Transforms/vtkCylindricalTransform.h
@@ -44,7 +44,7 @@ public:
 
 protected:
   vtkCylindricalTransform();
-  ~vtkCylindricalTransform();
+  ~vtkCylindricalTransform() VTK_OVERRIDE;
 
   // Description:
   // Copy this transform from another of the same type.
diff --git a/Common/Transforms/vtkGeneralTransform.h b/Common/Transforms/vtkGeneralTransform.h
index 16f9caee3b8..d988a344435 100644
--- a/Common/Transforms/vtkGeneralTransform.h
+++ b/Common/Transforms/vtkGeneralTransform.h
@@ -218,7 +218,7 @@ public:
 
 protected:
   vtkGeneralTransform();
-  ~vtkGeneralTransform();
+  ~vtkGeneralTransform() VTK_OVERRIDE;
 
   void InternalDeepCopy(vtkAbstractTransform *t) VTK_OVERRIDE;
   void InternalUpdate() VTK_OVERRIDE;
diff --git a/Common/Transforms/vtkHomogeneousTransform.h b/Common/Transforms/vtkHomogeneousTransform.h
index 472f997b957..4d66f5f8e1b 100644
--- a/Common/Transforms/vtkHomogeneousTransform.h
+++ b/Common/Transforms/vtkHomogeneousTransform.h
@@ -89,7 +89,7 @@ public:
 
 protected:
   vtkHomogeneousTransform();
-  ~vtkHomogeneousTransform();
+  ~vtkHomogeneousTransform() VTK_OVERRIDE;
 
   void InternalDeepCopy(vtkAbstractTransform *transform) VTK_OVERRIDE;
 
diff --git a/Common/Transforms/vtkIdentityTransform.h b/Common/Transforms/vtkIdentityTransform.h
index 7c1f9a37a11..e3fcded3638 100644
--- a/Common/Transforms/vtkIdentityTransform.h
+++ b/Common/Transforms/vtkIdentityTransform.h
@@ -98,7 +98,7 @@ public:
 
 protected:
   vtkIdentityTransform();
-  ~vtkIdentityTransform();
+  ~vtkIdentityTransform() VTK_OVERRIDE;
 
   void InternalDeepCopy(vtkAbstractTransform *t) VTK_OVERRIDE;
 
diff --git a/Common/Transforms/vtkLandmarkTransform.h b/Common/Transforms/vtkLandmarkTransform.h
index bc7ffa8295f..aec6f29cf12 100644
--- a/Common/Transforms/vtkLandmarkTransform.h
+++ b/Common/Transforms/vtkLandmarkTransform.h
@@ -86,7 +86,7 @@ public:
 
 protected:
   vtkLandmarkTransform();
-  ~vtkLandmarkTransform();
+  ~vtkLandmarkTransform() VTK_OVERRIDE;
 
   // Update the matrix from the quaternion.
   void InternalUpdate() VTK_OVERRIDE;
diff --git a/Common/Transforms/vtkLinearTransform.h b/Common/Transforms/vtkLinearTransform.h
index abd5146c3c4..6b7b045b302 100644
--- a/Common/Transforms/vtkLinearTransform.h
+++ b/Common/Transforms/vtkLinearTransform.h
@@ -183,7 +183,7 @@ public:
 
 protected:
   vtkLinearTransform() {}
-  ~vtkLinearTransform() {}
+  ~vtkLinearTransform() VTK_OVERRIDE {}
 private:
   vtkLinearTransform(const vtkLinearTransform&) VTK_DELETE_FUNCTION;
   void operator=(const vtkLinearTransform&) VTK_DELETE_FUNCTION;
diff --git a/Common/Transforms/vtkMatrixToHomogeneousTransform.h b/Common/Transforms/vtkMatrixToHomogeneousTransform.h
index 950723b616e..7e806f6ef77 100644
--- a/Common/Transforms/vtkMatrixToHomogeneousTransform.h
+++ b/Common/Transforms/vtkMatrixToHomogeneousTransform.h
@@ -58,7 +58,7 @@ class VTKCOMMONTRANSFORMS_EXPORT vtkMatrixToHomogeneousTransform : public vtkHom
 
 protected:
   vtkMatrixToHomogeneousTransform();
-  ~vtkMatrixToHomogeneousTransform();
+  ~vtkMatrixToHomogeneousTransform() VTK_OVERRIDE;
 
   void InternalUpdate() VTK_OVERRIDE;
   void InternalDeepCopy(vtkAbstractTransform *transform) VTK_OVERRIDE;
diff --git a/Common/Transforms/vtkMatrixToLinearTransform.h b/Common/Transforms/vtkMatrixToLinearTransform.h
index 2bb13ac4fbb..c38154982d3 100644
--- a/Common/Transforms/vtkMatrixToLinearTransform.h
+++ b/Common/Transforms/vtkMatrixToLinearTransform.h
@@ -59,7 +59,7 @@ class VTKCOMMONTRANSFORMS_EXPORT vtkMatrixToLinearTransform : public vtkLinearTr
 
 protected:
   vtkMatrixToLinearTransform();
-  ~vtkMatrixToLinearTransform();
+  ~vtkMatrixToLinearTransform() VTK_OVERRIDE;
 
   void InternalUpdate() VTK_OVERRIDE;
   void InternalDeepCopy(vtkAbstractTransform *transform) VTK_OVERRIDE;
diff --git a/Common/Transforms/vtkPerspectiveTransform.h b/Common/Transforms/vtkPerspectiveTransform.h
index 6b704290b94..21b47af2db8 100644
--- a/Common/Transforms/vtkPerspectiveTransform.h
+++ b/Common/Transforms/vtkPerspectiveTransform.h
@@ -319,7 +319,7 @@ class VTKCOMMONTRANSFORMS_EXPORT vtkPerspectiveTransform : public vtkHomogeneous
 
 protected:
   vtkPerspectiveTransform();
-  ~vtkPerspectiveTransform();
+  ~vtkPerspectiveTransform() VTK_OVERRIDE;
 
   void InternalDeepCopy(vtkAbstractTransform *t) VTK_OVERRIDE;
   void InternalUpdate() VTK_OVERRIDE;
diff --git a/Common/Transforms/vtkSphericalTransform.h b/Common/Transforms/vtkSphericalTransform.h
index 30b3b2b2cf7..ae642a84db7 100644
--- a/Common/Transforms/vtkSphericalTransform.h
+++ b/Common/Transforms/vtkSphericalTransform.h
@@ -45,7 +45,7 @@ public:
 
 protected:
   vtkSphericalTransform();
-  ~vtkSphericalTransform();
+  ~vtkSphericalTransform() VTK_OVERRIDE;
 
   // Description:
   // Copy this transform from another of the same type.
diff --git a/Common/Transforms/vtkThinPlateSplineTransform.h b/Common/Transforms/vtkThinPlateSplineTransform.h
index d0808867a38..c43cbba1ff0 100644
--- a/Common/Transforms/vtkThinPlateSplineTransform.h
+++ b/Common/Transforms/vtkThinPlateSplineTransform.h
@@ -104,7 +104,7 @@ public:
 
 protected:
   vtkThinPlateSplineTransform();
-  ~vtkThinPlateSplineTransform();
+  ~vtkThinPlateSplineTransform() VTK_OVERRIDE;
 
   // Description:
   // Prepare the transformation for application.
diff --git a/Common/Transforms/vtkTransform.h b/Common/Transforms/vtkTransform.h
index dfa17a8201d..ef7df6dd60e 100644
--- a/Common/Transforms/vtkTransform.h
+++ b/Common/Transforms/vtkTransform.h
@@ -321,7 +321,7 @@ class VTKCOMMONTRANSFORMS_EXPORT vtkTransform : public vtkLinearTransform
 
 protected:
   vtkTransform ();
-  ~vtkTransform ();
+  ~vtkTransform () VTK_OVERRIDE;
 
   void InternalDeepCopy(vtkAbstractTransform *t) VTK_OVERRIDE;
 
diff --git a/Common/Transforms/vtkTransform2D.h b/Common/Transforms/vtkTransform2D.h
index 72a7d288738..9e195c1ee5f 100644
--- a/Common/Transforms/vtkTransform2D.h
+++ b/Common/Transforms/vtkTransform2D.h
@@ -166,7 +166,7 @@ class VTKCOMMONTRANSFORMS_EXPORT vtkTransform2D : public vtkObject
 
 protected:
   vtkTransform2D ();
-  ~vtkTransform2D ();
+  ~vtkTransform2D () VTK_OVERRIDE;
 
   void InternalDeepCopy(vtkTransform2D *t);
 
diff --git a/Common/Transforms/vtkTransformCollection.h b/Common/Transforms/vtkTransformCollection.h
index 424812a8b19..770c85084e0 100644
--- a/Common/Transforms/vtkTransformCollection.h
+++ b/Common/Transforms/vtkTransformCollection.h
@@ -52,7 +52,7 @@ public:
 
 protected:
   vtkTransformCollection() {}
-  ~vtkTransformCollection() {}
+  ~vtkTransformCollection() VTK_OVERRIDE {}
 
 
 private:
diff --git a/Common/Transforms/vtkWarpTransform.h b/Common/Transforms/vtkWarpTransform.h
index dc13e31fed7..2e43f2a3dc0 100644
--- a/Common/Transforms/vtkWarpTransform.h
+++ b/Common/Transforms/vtkWarpTransform.h
@@ -104,7 +104,7 @@ public:
 
 protected:
   vtkWarpTransform();
-  ~vtkWarpTransform();
+  ~vtkWarpTransform() VTK_OVERRIDE;
 
   // Description:
   // If the InverseFlag is set to 0, then a call to InternalTransformPoint
-- 
GitLab