Added -Wsuggest-override and -Woverloaded-virtual warnings

We will adhere to the convention of marking all overriden methods
with the "override" specifier, to make clear which methods
are virtual overriden and which are not. -Wsuggest-override
emits warning any time the compiler finds a method which
should be marked "override" but is not.

We also add the -Woverloaded-virtual warning to inform
us when we try to hide a base class' virtual method,
because that will be almost certainly a bug rather
than a genius hack.

Change-Id: I19369689ce89e99b5abce1a0cc8b6ce68886fe41
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 83634a6..7d0c949 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -29,7 +29,7 @@
 
 # Build warnings are useful tools (and this project should be warning-free anyway), enable them on all
 # configurations. They are warnings, not errors.
-set(CMAKE_CXX_FLAGS "-Wall -Wextra -pedantic ${CMAKE_CXX_FLAGS}")
+set(CMAKE_CXX_FLAGS "-Wall -Wextra -pedantic -Wsuggest-override -Woverloaded-virtual ${CMAKE_CXX_FLAGS}")
 
 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")