diff --git a/Machines/AppleII/Card.hpp b/Machines/AppleII/Card.hpp index 42fb4fd23..2b1ae664f 100644 --- a/Machines/AppleII/Card.hpp +++ b/Machines/AppleII/Card.hpp @@ -39,6 +39,7 @@ namespace AppleII { */ class Card { public: + virtual ~Card() {} enum Select: int { None = 0, // No select line is active IO = 1 << 0, // IO select is active diff --git a/Machines/MSX/ROMSlotHandler.hpp b/Machines/MSX/ROMSlotHandler.hpp index a617fce9b..e0fadbc64 100644 --- a/Machines/MSX/ROMSlotHandler.hpp +++ b/Machines/MSX/ROMSlotHandler.hpp @@ -43,6 +43,8 @@ class MemoryMap { class ROMSlotHandler { public: + virtual ~ROMSlotHandler() {} + /*! Advances time by @c half_cycles. */ virtual void run_for(HalfCycles half_cycles) {} diff --git a/Machines/Utility/Typer.hpp b/Machines/Utility/Typer.hpp index 5304b1a73..e93403523 100644 --- a/Machines/Utility/Typer.hpp +++ b/Machines/Utility/Typer.hpp @@ -26,6 +26,8 @@ class CharacterMapper { /// @returns The EndSequence-terminated sequence of keys that would cause @c character to be typed. virtual uint16_t *sequence_for_character(char character) = 0; + virtual CharacterMaper() {} + protected: typedef uint16_t KeySequence[16]; diff --git a/Storage/Disk/Encodings/MFM/Encoder.cpp b/Storage/Disk/Encodings/MFM/Encoder.cpp index c6c333939..515ed50ef 100644 --- a/Storage/Disk/Encodings/MFM/Encoder.cpp +++ b/Storage/Disk/Encodings/MFM/Encoder.cpp @@ -19,6 +19,7 @@ using namespace Storage::Encodings::MFM; class MFMEncoder: public Encoder { public: MFMEncoder(std::vector &target) : Encoder(target) {} + virtual ~MFMEncoder() {} void add_byte(uint8_t input) { crc_generator_.add(input); diff --git a/Storage/Disk/Track/Track.hpp b/Storage/Disk/Track/Track.hpp index 5075401fc..63d2d7207 100644 --- a/Storage/Disk/Track/Track.hpp +++ b/Storage/Disk/Track/Track.hpp @@ -70,6 +70,8 @@ class HeadPosition { */ class Track { public: + virtual ~Track() {} + /*! Describes the location of a track, implementing < to allow for use as a set key. */