ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C++函数名称作为参数

2022-08-28 11:30:34  阅读:165  来源: 互联网

标签:const 函数 sameWith since brief C++ 参数 return 1.0


 1 #ifndef CHANPROJECT_VECTOR2D_H
 2 #define CHANPROJECT_VECTOR2D_H
 3 #include "ChanGlobal.h"
 4 
 5 namespace Common{
 6     template <typename T>
 7     class Vector2D{
 8     public:
 9         Vector2D() = default;
10         virtual ~Vector2D() = default;
11         /**
12          * @brief 构造函数
13          * @param x x的值
14          * @param y y的值
15          * @since 1.0.0
16          */
17         Vector2D(const T& x, const T& y){
18             this->m_X = x;
19             this->m_Y = y;
20         }
21         /**
22          * @brief 返回点的x值
23          * @return 该点的x值
24          * @since 1.0.0
25          */
26         ChanNodiscard T x() const{
27             return m_X;
28         }
29         /**
30          * @brief 设置点的x值
31          * @param x 要赋值给x的值
32          * @since 1.0.0
33          */
34         void setX(const T& x){
35             m_X = x;
36         }
37         /**
38          * @brief 返回点的y值
39          * @return 该点的y值
40          * @since 1.0.0
41          */
42         ChanNodiscard T y() const{
43             return m_Y;
44         }
45         /**
46          * @brief 设置点的x值
47          * @param y 要赋值给y的值
48          * @since 1.0.0
49          */
50         void setY(const T& y){
51             m_Y = y;
52         }
53         /**
54          * @brief 比较两个对象是否相等
55          * @param p 要比较的对象
56          * @param sameWith 比较函数
57          * @note 如果比较函数‘sameWith’为nullptr,则使用“==”比较
58          * @return
59          */
60         bool sameWith(Vector2D<T> *p, bool (*sameWith)(T,T)) const{
61             if(sameWith == nullptr){
62                 return (m_X == p->m_X) && (m_Y == p->m_Y);
63             }else if(sameWith(m_X, p->m_X) && sameWith(m_Y, p->m_Y)){
64                 return true;
65             }else{
66                 return false;
67             }
68         };
69 
70         protected:
71         /**
72          * @brief [me]的x值
73          * @since 1.0.0
74          */
75         T m_X = 0.0;
76         /**
77          * @brief [me]的y值
78          * @since 1.0.0
79          */
80         T m_Y = 0.0;
81     };
82 }
83 #endif //CHANPROJECT_VECTOR2D_H

 

标签:const,函数,sameWith,since,brief,C++,参数,return,1.0
来源: https://www.cnblogs.com/chanyuantiandao/p/16632445.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有