Public functions versus public slots
<p>In my one year of Qt programming, I have learnt a lot about signals and slots. But not enough... </p>

<p><a href="http://doc.qt.io/qt-5/signalsandslots.html" rel="noreferrer">http://doc.qt.io/qt-5/signalsandslots.html</a></p>

<blockquote>
  <p>Slots can be used for receiving signals, but they are also normal
  member functions.</p>
</blockquote>

<p>So... Is there any reason not to declare every single function in a class that inherits from <code>QObject</code>, as a slot, whether it needs to be one or not ?</p>

<p>In the link above, they give an example:</p>

<blockquote>
  <p>A small QObject-based class might read:</p>

<pre><code>#include &lt;QObject&gt;

class Counter : public QObject
{
    Q_OBJECT

public:
    Counter() { m_value = 0; }

    int value() const { return m_value; }

public slots:
    void setValue(int value);

signals:
    void valueChanged(int newValue);

private:
    int m_value;
};
</code></pre>
</blockquote>

<p>Why define the <code>value()</code> function as a plain function and not a slot ? Would there be any negative results if they did make it a slot ?</p>