7

のようなコマンドは存在しますが、\deprecatedオーバーライドされた関数をマークしますか?

Javaには、@overrideオーバーライドした関数のアノテーションがあります。オーバーライドしたスーパークラス関数を確認できるように、C++でも同じことを実行したいと思います。せいぜい、ドキュメントページには、継承されているが、スーパークラス関数へのハイパーリンクで明示的にオーバーライドされていないすべてのクラスメンバー関数も表示されている必要があります。

スーパークラスメソッドからドキュメントをコピーする方法があることを私は知っています。ただし、ドキュメント全体をコピーしたくありません。関数が継承されていることを知りたいだけです。動作は、これらの古い関数をバーでマークするための非推奨のオプションと同様である必要があります。

4

2 に答える 2

9

オーバーライドされたすべての関数は、再実装されたという通知を自動的に受け取ります。たとえば、派生クラスのオーバーライドされた関数は、「MyBaseClass から再実装されました」という通知を受け取ります。

また、基本クラスのドキュメントにも通知を入れます。「テストで再実装」という言及があります

継承された関数を含むすべての関数を表示するには、 に設定できINLINE_INHERITED_MEMBますYES。次に、Doxygen は継承されたがオーバーライドされていないすべての関数のドキュメントを派生クラスのドキュメントにコピーします。

たとえば、このソースを使用する場合:

class TestBase
{
    public:
        /**
         * Base class function.
         */
        virtual void function();

      /**
       * Another function.
       */
      virtual void another();
};

class Test: public TestBase
{        
    public:
        /**
         * Overridden function.
         */
        virtual void function();
};

に設定INLINE_INHERITED_MEMBするYESと、クラスの次のドキュメントが生成されますDerived: (Doxygen 1.7.6 を使用)

メンバー関数のドキュメント

virtual void TestBase::another ( ) [virtual, inherited]
別の機能。

virtual void Test::function ( ) [virtual]
派生。
TestBase から再実装されました。

これがあなたが探しているものだと思います。

于 2012-05-12T12:21:38.213 に答える