首页 > 编程语言 >C++函数名称作为参数

C++函数名称作为参数

时间:2022-08-28 11:33:23浏览次数:43  
标签: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
From: https://www.cnblogs.com/chanyuantiandao/p/16632445.html

相关文章

  • UE4 C++学习 浅析基本数据类型
    本文只解析一些UE4特有的一些数据类型,一些常用的类型如布尔(Bool),整型(Int)等不再赘述。 UE4的基本数据类型有以下几种:   命名(FName):在C++中,命名被写成FName使用......
  • Pycharm自动添加函数注释参数失效
    问题:Pycharm自动添加函数注释参数失效解决办法:File>settings>PythonIntegratedTools>Docstrings>Docstringformat:reStructuredText 修改之后的效果: ......
  • c++ bind ref 例子
    //bindexample#include<iostream>//std::cout#include<functional>//std::bind//afunction:(alsoworkswithfunctionobject:std::divides<doubl......
  • JS基础学习(一)函数和对象
    函数定义方式1.第一种functionabs(x){if(x>=0){returnx;}else{return-x;}}2.第二种变量赋值的形式,注意最后有一个分号";......
  • C++ 之函数模板
    C++之函数模板函数的参数类型不确定,这样就可以使用泛型。//类型参数化C++中称之为泛型编程--模板技术template<classT>//告诉编译器,下面如果出现T不要报错,T是......
  • 《机器人SLAM导航核心技术与实战》第1季:第2章_C++编程范式
    《机器人SLAM导航核心技术与实战》第1季:第2章_C++编程范式视频讲解【第1季】2.第2章_C++编程范式-视频讲解【第1季】2.1.第2章_C++编程范式-C++工程的组织结构-视频......
  • 【C++】实现D3D9 的 Inline hook
    【C++】实现D3D9的Inlinehook 简单介绍一下HOOK原理:函数调用的过程大致是先push参数进去,再执行call函数地址,进入函数。此时将所调用的函数的前五个字......
  • 刨析一下C++构造析构函数能不能声明为虚函数的背后机理?
    以下内容为本人的著作,如需要转载,请声明原文链接微信公众号「englyf」https://www.cnblogs.com/englyf/p/16631774.html先说结论:构造函数不能声明为虚函数,析构函数可以......
  • 对于函数极限存在的充要条件“lim f(x)=A互推f(x)=A+a(x) lim a(x)=0”补充解释
    对于函数极限存在的充要条件“limf(x)=A互推f(x)=A+a(x)lima(x)=0”补充解释毫无疑问,这个定义适用于任何函数极限,诺f(x)有去间断点的时候,a(x)也为可去间断点函数。例:......
  • es6——生成器函数
    文章结构生成器函数的定义与使用给生成器函数传参给生成器函数异步传参生成器函数的应用场景解决回调地域1//生成器函数的定义与使......