diff --git a/alib2data/src/alphabet/SymbolBase.h b/alib2data/src/alphabet/SymbolBase.h
index 07b56ab4fa3e4d43cf8a7d753d14453aff19ea26..bb98b3e2ac1aaac3ac751145d2a80fe0beb09a24 100644
--- a/alib2data/src/alphabet/SymbolBase.h
+++ b/alib2data/src/alphabet/SymbolBase.h
@@ -13,14 +13,24 @@
 namespace alphabet {
 
 /**
- * Represents symbol in an alphabet.
+ * \brief Represents base for a concrete symbol type.
  */
 class SymbolBase : public object::ObjectBase {
 public:
-	virtual SymbolBase* clone ( ) const & = 0;
-	virtual SymbolBase* clone() && = 0;
+	/**
+	 * @copydoc ObjectBase::clone ( ) const &
+	 */
+	virtual SymbolBase * clone ( ) const & override = 0;
 
-	virtual SymbolBase* inc() && = 0;
+	/**
+	 * @copydoc ObjectBase::clone ( ) &&
+	 */
+	virtual SymbolBase * clone ( ) && override = 0;
+
+	/**
+	 * @copydoc ObjectBase::inc ( ) &&
+	 */
+	virtual SymbolBase * inc ( ) && override = 0;
 };
 
 } /* namespace alphabet */
diff --git a/alib2data/src/automaton/AutomatonBase.h b/alib2data/src/automaton/AutomatonBase.h
index 78b355993982dad368103982b3a80b687c67cb4d..4cd65707efd1424e0bdd6bffac6a8fb5b0cfd788 100644
--- a/alib2data/src/automaton/AutomatonBase.h
+++ b/alib2data/src/automaton/AutomatonBase.h
@@ -13,12 +13,19 @@
 namespace automaton {
 
 /**
- * Represents symbol in an alphabet.
+ * \brief Represents base for a concrete automaton type.
  */
 class AutomatonBase : public object::ObjectBase {
 public:
-	virtual AutomatonBase* clone ( ) const & = 0;
-	virtual AutomatonBase* clone() && = 0;
+	/**
+	 * @copydoc ObjectBase::clone ( ) const &
+	 */
+	virtual AutomatonBase * clone ( ) const & override = 0;
+
+	/**
+	 * @copydoc ObjectBase::clone ( ) &&
+	 */
+	virtual AutomatonBase * clone() && override = 0;
 };
 
 } /* namespace automaton */
diff --git a/alib2data/src/label/LabelBase.h b/alib2data/src/label/LabelBase.h
index 4fa13c17222f9d1b40d1a4286805404a32307028..484493ad3a07c50fd518fb276644285941d1a867 100644
--- a/alib2data/src/label/LabelBase.h
+++ b/alib2data/src/label/LabelBase.h
@@ -13,14 +13,24 @@
 namespace label {
 
 /**
- * Represents symbol in an alphabet.
+ * \brief Represents base for a concrete label type.
  */
 class LabelBase : public object::ObjectBase {
 public:
-	virtual LabelBase* clone ( ) const & = 0;
-	virtual LabelBase* clone() && = 0;
+	/**
+	 * @copydoc ObjectBase::clone ( ) const &
+	 */
+	virtual LabelBase * clone ( ) const & override = 0;
 
-	virtual LabelBase* inc() && = 0;
+	/**
+	 * @copydoc ObjectBase::clone ( ) &&
+	 */
+	virtual LabelBase * clone ( ) && override = 0;
+
+	/**
+	 * @copydoc ObjectBase::inc ( ) &&
+	 */
+	virtual LabelBase * inc ( ) && override = 0;
 };
 
 } /* namespace label */
diff --git a/alib2data/src/regexp/RegExpBase.h b/alib2data/src/regexp/RegExpBase.h
index 9fed23171a5dd9e0d2b5ff34151d932a55f640e9..43308585d8cd17db313e7adab9181fe35d3410e5 100644
--- a/alib2data/src/regexp/RegExpBase.h
+++ b/alib2data/src/regexp/RegExpBase.h
@@ -13,12 +13,19 @@
 namespace regexp {
 
 /**
- * Represents symbol in an alphabet.
+ * \brief Represents base for a concrete regexp type.
  */
 class RegExpBase : public object::ObjectBase {
 public:
-	virtual RegExpBase* clone ( ) const & = 0;
-	virtual RegExpBase* clone() && = 0;
+	/**
+	 * @copydoc ObjectBase::clone ( ) const &
+	 */
+	virtual RegExpBase * clone ( ) const & override = 0;
+
+	/**
+	 * @copydoc ObjectBase::clone ( ) &&
+	 */
+	virtual RegExpBase* clone() && override = 0;
 };
 
 } /* namespace regexp */
diff --git a/alib2data/src/rte/RTEBase.h b/alib2data/src/rte/RTEBase.h
index 1fcafe974b21adb7bf9d61e89f473f8e3122fe4c..1729f0ad9a9d13039f7ff8acc8b866fde075d4e9 100644
--- a/alib2data/src/rte/RTEBase.h
+++ b/alib2data/src/rte/RTEBase.h
@@ -12,17 +12,20 @@
 
 namespace rte {
 
+/**
+ * \brief Represents base for a concrete rte type.
+ */
 class RTEBase : public object::ObjectBase {
 public:
 	/**
 	 * @copydoc object::ObjectBase::clone ( ) const &
 	 */
-	virtual RTEBase * clone ( ) const & = 0;
+	virtual RTEBase * clone ( ) const & override = 0;
 
 	/**
 	 * @copydoc object::ObjectBase::clone ( ) &&
 	 */
-	virtual RTEBase * clone ( ) &&  = 0;
+	virtual RTEBase * clone ( ) && override = 0;
 };
 
 } /* namespace rte */
diff --git a/alib2data/src/string/StringBase.h b/alib2data/src/string/StringBase.h
index 938e9a395740f9a7e540dfe79a69bef9a8e480d6..b172cd64eaa9c6e7db5447a87a9db64dd5f1141e 100644
--- a/alib2data/src/string/StringBase.h
+++ b/alib2data/src/string/StringBase.h
@@ -13,12 +13,19 @@
 namespace string {
 
 /**
- * Represents symbol in an alphabet.
+ * \brief Represents base for a concrete string type.
  */
 class StringBase : public object::ObjectBase {
 public:
-	virtual StringBase * clone ( ) const & = 0;
-	virtual StringBase * clone ( ) && = 0;
+	/**
+	 * @copydoc ObjectBase::clone ( ) const &
+	 */
+	virtual StringBase * clone ( ) const & override = 0;
+
+	/**
+	 * @copydoc ObjectBase::clone ( ) &&
+	 */
+	virtual StringBase * clone ( ) && override = 0;
 };
 
 } /* namespace string */
diff --git a/alib2data/src/tree/TreeBase.h b/alib2data/src/tree/TreeBase.h
index ccdedd35cb1a72d674e291b082b711b0fdb1a90a..3e2ca4ebf76fa29369c70036b582f8cb338d882e 100644
--- a/alib2data/src/tree/TreeBase.h
+++ b/alib2data/src/tree/TreeBase.h
@@ -13,12 +13,19 @@
 namespace tree {
 
 /**
- * Represents symbol in an alphabet.
+ * \brief Represents base for a concrete tree type.
  */
 class TreeBase : public object::ObjectBase {
 public:
-	virtual TreeBase* clone ( ) const & = 0;
-	virtual TreeBase* clone() && = 0;
+	/**
+	 * @copydoc ObjectBase::clone ( ) const &
+	 */
+	virtual TreeBase * clone ( ) const & override = 0;
+
+	/**
+	 * @copydoc ObjectBase::clone ( ) &&
+	 */
+	virtual TreeBase * clone ( ) && override = 0;
 };
 
 } /* namespace tree */