首页 > 解决方案 > doxygen c++ 虚函数和实现

问题描述

你如何评论 doxygen c++ 虚函数和实现

是否有一种简单的方法可以从实现链接到“接口”,或者您会建议在每个虚函数实现中再次注释每个参数?

   class a
{
 public:

  /**
   * Cyclic read of data from Stack to host
   * @param address pointer to address object
   * @param data data to be transmitted
   * @param size size of data in bytes
   * @return transmitted number of bytes
   */
  virtual UINT32 DoSomething(ADDRESS *address, UINT_8 *data,
                                UINT32 size) = 0;
}

class b : public class a
{
  /**
   * Implementation of interface a - how to document? write everything again, or link somehow?
   * @param address pointer to address object
   * @param data data to be transmitted
   * @param size size of data in bytes
   * @return transmitted number of bytes
   */
  virtual UINT32 DoSomething(ADDRESS *address, UINT_8 *data,
                                UINT32 size) = 0;
}

标签: c++documentationvirtualdoxygen

解决方案


正如我的评论所提到的,例如

class b : public class a
{
 public:

  /**
   * Implementation of interface a - how to document? write everything again, or link somehow?
   *
   * \copydoc a::DoSomething
   */
  virtual UINT32 DoSomething(ADDRESS *address, UINT_8 *data,
                                UINT32 size) = 0;
};

或与\snippetdoc

class a
{
 public:

  /*
   [snip_a]
   Cyclic read of data from Stack to host
   @param address pointer to address object
   @param data data to be transmitted
   @param size size of data in bytes
   @return transmitted number of bytes
   [snip_a]
   */
  /**
   * \snippetdoc this snip_a
   */
  virtual UINT32 DoSomething(ADDRESS *address, UINT_8 *data,
                                UINT32 size) = 0;
};

class b : public class a
{
 public:

  /**
   * Implementation of interface a - how to document? write everything again, or link somehow?
   *
   * \snippetdoc this snip_a
   */
  virtual UINT32 DoSomething(ADDRESS *address, UINT_8 *data,
                                UINT32 size) = 0;
};

注意:放置[snip_a]在常规评论块中!和缺失的星号 ( *)


推荐阅读